Étant donné l'ENUM java suivante:Comment faire pour convertir le résultat de chaîne de enum avec overrenced toString() retour à enum?
public enum AgeRange {
A18TO23 {
public String toString() {
return "18 - 23";
}
},
A24TO29 {
public String toString() {
return "24 - 29";
}
},
A30TO35 {
public String toString() {
return "30 - 35";
}
},
}
Est-il possible de convertir une valeur de chaîne de « 18 - 23 » à la valeur correspondante ENUM à savoir AgeRange.A18TO23?
Merci!
Je suis d'accord que c'est bien de mettre la valeur dans le constructeur.Pour de très gros enums (et ils devraient vraiment être assez gros), il serait logique d'utiliser une carte. Je reviendrais personnellement de l'intérieur de la boucle, mais je n'ai jamais été fan de "retour d'un endroit sans tenir compte de la lisibilité" :) –
Un autre point - il serait préférable d'utiliser EnumSet.allOf à la place de AgeRange.values () sinon vous créez un nouveau tableau pour chaque appel. –
Je suis d'accord avec vous Jon Skeet :) Changer ... – sakana