Ich habe ein Stück Code, der gut funktioniert, aber ich frage mich, ob es eine bessere Möglichkeit gibt, das gleiche Ergebnis zu erhalten.Java Set enthält mehrere Rückgabeoptionen
public enum Status {
ENUM1, ENUM2, ENUM3, ENUM4;
public static Status getStatus(Set<String> set) {
if (set.contains("x")) {
return ENUM1;
}
if (set.contains("y") || set.contains("z")) {
return ENUM2;
}
if (set.contains("c")) {
return ENUM3;
}
return ENUM4;
}
}
Also im Grunde ist dies der Code (xyzc sind alle Konstanten). Also nimmt die Methode eine Reihe von Strings auf und muss die richtige Enum ausgeben. Gibt es einen besseren Weg, um das gleiche Ergebnis zu erzielen?
Edit: Dies ist die Art und Weise, wie die Methode ist, Set ist nie leer zu beginnen, also nicht diesen Teil kümmern.
Edit2: hoffe, dies löscht es auf ..
Ihr Code führt zu einer NullPointerException. Es tut mir leid ... Dein Set wird niemals initialisiert. Die IDE sollte dir das zeigen. –
Der Code wird nicht nur kompiliert. Sie müssen zunächst die Variable initialisieren. – SachinSarawgi
Nein, das ist nur ein Beispiel. Das Set ist zu Beginn nie leer. – Rauno