Wie man einen Enum-Wert aus einem String in Java erhält
Hallo zusammen! Ich bin neu in Java und habe ein Problem bei der Arbeit mit Aufzählungen (enum). Ich habe dieses enum für Bestellstatus:
```java
public enum OrderStatus {
NEW,
PROCESSING,
SHIPPED,
DELIVERED,
CANCELLED
}
```
Ich bekomme aus der Datenbank einen String, z.B. "PROCESSING", und muss ihn zurück in den enum-Wert `OrderStatus.PROCESSING` umwandeln. Ich habe versucht, eine einfache Typumwandlung zu verwenden, aber das funktioniert nicht:
```java
String statusStr = "PROCESSING";
OrderStatus status = (OrderStatus) statusStr; // Compiler-Fehler
```
Ich habe auch versucht, `valueOf()` zu verwenden, aber wenn der String keinem enum-Wert entspricht, wird eine `IllegalArgumentException` geworfen. Wenn der Benutzer z.B. "processing" (kleingeschrieben) eingibt oder einen Tippfehler macht, stürzt das Programm ab.
Könnt ihr mir sagen, wie man einen String korrekt und sicher in ein enum konvertiert? Muss ich die Groß-/Kleinschreibung irgendwie behandeln? Und was mache ich, wenn der String überhaupt nicht übereinstimmt?