Mam wyliczenie z 4 wartościami i mam podpis metody, który akceptuje wartość wyliczenia. Chciałbym móc coś zrobić ze wszystkimi wartościami enum nie przekazanymi jako argument do zrobienia Coś().Pętla przez podzbiór wartości wyliczeniowych
public void doSomething(EnumThing thing){
EnumThing[] thingValues = EnumThing.values();
List<EnumThing> valuesNotPassedAsArg = new ArrayList<EnumThing>();
for(EnumThing th : thingValues){
valuesNotPassedAsArg.add(th);
}
valuesNotPassAsArg.remove(thing);
//here I would loop through all valuesNotPassAsArg and do something with them
}
public enum EnumThing{
SOMETHING, SOMETHINGELSE, ANOTHERTHING;
}
Czy jest to czystszy sposób? Mam wrażenie, że pętla do pobierania elementów z tablicy thingValues jest zbędna.
'EnumThing.values ();' zwróci wszystkie wartości wyliczeniowe, a nie każdy rodzaj podzbioru. Więc co dokładnie chcesz zrobić? Proszę wyjaśnić trochę więcej. –
ze wszystkich wartości wyliczeniowych Usuwam wartość wyliczenia przekazaną jako argument, a następnie chciałbym przejrzeć pozostałe wartości. – andersra
Myślałem, że już wiesz, jak przechodzić przez Array lub Collection. –