Obtenir l'indice de enum à partir de la chaîne?
J'ai une chaîne de valeur, j'ai également un tableau de chaînes de caractères et une énumération contenant de la plage aussi.
Pour obtenir l'index de la chaîne dans le tableau, à partir de la valeur fournie, j'écris ceci:
Arrays.asList(myClass.BAUD_RATES).indexOf(username)
Comment puis-je faire cela pour un enum? Puis-je utiliser ordinale? Ou dois-je faire ma propre méthode?
La méthode peut marcher comme:
public enum Fruit {
...
static public boolean isMember(String aName) {
Fruit[] aFruits = Fruit.values();
for (Fruit aFruit : aFruits)
if (aFruit.fruitname.equals(aName))
return aFruit;
return false;
}
...
}
source d'informationauteur Paul
Vous devez vous connecter pour publier un commentaire.
Ne sais pas si je vous comprends bien, mais peut-être que vous êtes à la recherche pour
YourEnum.valueOf("VALUE")
renvoie la valeur d'enum avec le nomVALUE
ordinal()
méthode.Je pourrais vous comprends pas la question, mais le même code fonctionne pour les énumérations trop:
Ou vous pouvez obtenir:
Si vous souhaitez récupérer l'index, vous pouvez utiliser ordinale. Si vous souhaitez attribuer une valeur précise à la Chaîne, vous pouvez définir votre propre méthode pour les récupérer.
Maintenant la valeur et ordinaux peuvent être récupérées comme :
Essayer cette solution simple:
La logique suivante.
Si vous voulez vérifier et vous connaissez la fruitname déjà de ne pas utiliser de boucle pour aller avec l'approche évoquée par Pshemo