Hallo,
hab hier das folgende Problem, ich habe mehrere Konstanten, und möchte wissen ob ein String mit einer der definierten Konstanten übereinstimmt.
isFruit funktioniert einwandfrei, aber mir kommt das rel. umständlich vor, deswegen hab ich mich im Netz etwas umgeschaut, und EnumSet gefunden. Dann hab ich die Lösung mit "isFruit2" entwickelt, kommt mir schon erheblich eleganter vor. Nur funktioniert sie nich.
Meine Frage is jetzt weniger, wie ich die isFruit2 zum Laufen bekomm, sondern wie überhaupt die beste Vorgehensweise ist, wenn man so wie ich Mengen von Konstanten-(Strings) habe (immer so ca. 30-60), von denen ich wissen möchte ob ein (variabler) String in einer solchen Menge enthalten ist.
Gruß
hab hier das folgende Problem, ich habe mehrere Konstanten, und möchte wissen ob ein String mit einer der definierten Konstanten übereinstimmt.
Java:
public enum Fruits {
APPLE,
BANANA,
MELON,
STRAWBERRY,
LEMON,
ORANGE
}
Java:
import java.util.EnumSet;
public class FruitChecker {
private static boolean isFruit(String testString) {
for(Fruits testFruit : Fruits.values()) {
if(testFruit.toString().equals(testString)) {
return true;
}
}
return false;
}
private static boolean isFruit2(String testString) {
EnumSet allFruits = EnumSet.allOf(Fruits.class);
return allFruits.contains(testString);
}
public static void main(String[] args) {
System.out.println(isFruit("BANANA"));
System.out.println(isFruit("CABBAGE"));
System.out.println(isFruit2("BANANA"));
System.out.println(isFruit2("CABBAGE"));
}
}
isFruit funktioniert einwandfrei, aber mir kommt das rel. umständlich vor, deswegen hab ich mich im Netz etwas umgeschaut, und EnumSet gefunden. Dann hab ich die Lösung mit "isFruit2" entwickelt, kommt mir schon erheblich eleganter vor. Nur funktioniert sie nich.
Meine Frage is jetzt weniger, wie ich die isFruit2 zum Laufen bekomm, sondern wie überhaupt die beste Vorgehensweise ist, wenn man so wie ich Mengen von Konstanten-(Strings) habe (immer so ca. 30-60), von denen ich wissen möchte ob ein (variabler) String in einer solchen Menge enthalten ist.
Gruß