Avatar ·

Comment obtenir une valeur enum à partir d'une chaîne en Java

Bonjour à tous ! Je suis débutant en Java et j'ai rencontré un problème en travaillant avec les énumérations (enum). J'ai cet enum pour les statuts de commande : ```java public enum OrderStatus { NEW, PROCESSING, SHIPPED, DELIVERED, CANCELLED } ``` Je reçois une chaîne de la base de données, par exemple "PROCESSING", et je dois la convertir en valeur enum `OrderStatus.PROCESSING`. J'ai essayé d'utiliser un simple cast, mais cela ne fonctionne pas : ```java String statusStr = "PROCESSING"; OrderStatus status = (OrderStatus) statusStr; // Erreur de compilation ``` J'ai aussi essayé d'utiliser `valueOf()`, mais lorsque la chaîne ne correspond à aucune valeur enum, une exception `IllegalArgumentException` est levée. Par exemple, si l'utilisateur a saisi "processing" (en minuscules) ou a fait une faute de frappe, le programme plante. Dites-moi comment convertir correctement et en toute sécurité une chaîne en enum ? Faut-il gérer la casse des lettres ? Et que faire si la chaîne ne correspond pas du tout ?