Vergleichen von string zu enum-Datentyp in Java?
Ich habe eine enum-Liste von allen Staaten in den USA wie folgt:
public enum State
{ AL, AK, AZ, AR, ..., WY }
und in meiner test-Datei, ich werde Lesen Eingaben aus einer text-Datei, die den Zustand. Da Sie string, wie kann ich es vergleichen, um den Wert der enum-Liste, um einen Wert zuweisen, um die variable, die ich eingerichtet habe wie:
private State state;
Ich verstehe, dass ich brauchen, um durch zu gehen die enum-Liste. Jedoch, da die Werte nicht als string-Typ, wie kann man es vergleichen? Dies ist, was ich gerade tippe blind. Ich weiß nicht, ob es richtig ist oder nicht.
public void setState(String s)
{
for (State st : State.values())
{
if (s == State.values().toString())
{
s = State.valueOf();
break;
}
}
}
==
-->.equals(..)
Du musst angemeldet sein, um einen Kommentar abzugeben.
versuchen, diese
Möchten Sie vielleicht zu behandeln, die IllegalArgumentException, die ausgelöst werden können, wenn "s" value doesn ' T match any "Staat"
IllegalArgumentException
obwohl.Verwenden
.name()
Methode. Wiest.name()
. z.B.State.AL.name()
zurück Zeichenfolge "AL".So,
funktionieren sollte.
vergleichen enum zu string