0
votes

Quelle est la meilleure façon de gérer java.lang.illegalargumentException: No Enum Constant

La classe Enum est comme ceci: xxx

et je veux le gérer, de sorte que s'il n'y a pas de valeur dans Enum, il ne faut pas lancer d'exception. Je manipule comme ceci: xxx

est une meilleure façon de le faire?


3 commentaires

Quel est le véritable objectif? Aller d'une liste une chaîne à une liste d'USEroles?


Oui c'est l'objectif, la liste de la chaîne vient d'ailleurs et je vais convertir en liste constante


@ A.Solak: Toute réponse qui a fonctionné pour vous? Envisagez d'accepter / uplifier les réponses si elle l'a fait.


3 Réponses :


2
votes

Une façon de le faire, c'est en créant explicitement un hashmap statique à l'intérieur de votre énum. Pourrait être utile, si vous vous attendez à avoir beaucoup de valeurs inégalées, car des exceptions en général sont une opération (relativement) coûteuse. Sinon, votre façon de faire va bien. xxx


0 commentaires

1
votes

Vous pouvez le gérer de manière plus courte avec flux :

  • Enregistrer un mappe avec la chaîne en tant que clé et la valeur constante en tant que valeur
  • Rechercher la valeur ou ne pas garder celui-là
  • Collectez tous ceux que vous trouvez xxx

    et utilisez comme xxx


0 commentaires

0
votes

Vous pouvez introduire une méthode statique qui récupérera les valeurs Enum em> pour vous si trouvez, sinon retourner null code>.

UserRoles userRole = UserRoles.fetchValue(str);
if (userRole != null) {
    accountRoles.add(userRole);
}


0 commentaires