Wie vergleiche ich Zeichenkette mit Aufzählungstyp in Java?

8

Ich habe eine Liste aller Staaten in den USA wie folgt:

%Vor%

und in meiner Testdatei werde ich Eingaben aus einer Textdatei lesen, die den Status enthalten. Da es sich um eine Zeichenfolge handelt, wie kann ich sie mit dem Wert der Aufzählungsliste vergleichen, um der Variablen, die ich eingerichtet habe, einen Wert zuzuweisen:

%Vor%

Ich verstehe, dass ich die Enum-Liste durchgehen muss. Da die Werte jedoch kein String-Typ sind, wie können Sie es vergleichen? Das schreibe ich blindlings. Ich weiß nicht, ob es korrekt ist oder nicht.

%Vor%     
Maximus Seng 01.10.2012, 23:32
quelle

3 Antworten

22

probiere das

aus %Vor%

Vielleicht möchten Sie die IllegalArgumentException behandeln, die ausgelöst wird, wenn der Wert "s" keinem "Status"

entspricht     
maestr0 01.10.2012, 23:37
quelle
4

Verwenden Sie .name() Methode. Wie st.name() . z.B. State.AL.name() gibt den String "AL" zurück.

Also,

%Vor%

sollte funktionieren.

    
Bhesh Gurung 01.10.2012 23:36
quelle
2

Vergleich der Enumeration mit der Zeichenfolge

%Vor%     
technomage 01.10.2012 23:47
quelle

Tags und Links