Enumération : recherche sur base de la valeur
Bonjour,
Voici mon énumération :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
public static enum StructureCompte { compteBelge(0), compteEtranger(1), ibanBelge(2), ibanEtranger(3);
private int value;
StructureCompte(int val)
{
value = val;
}
public int getValue()
{
return value;
}
}; |
Je sais que je pourrais me passer des détails et me limiter à citer les libellés dans ce cas, mais là n'est aps ma question :roll:
Je voudrais pouvoir retrouver l'élément de l'énumération à partir de sa valeur et pour le moment, je n'ai trouvé qu'une solution : passer par une boucle :
Code:
1 2 3 4 5 6 7 8 9
|
int struct = Integer.parseInt(line.substring(1,2));
for (StructureCompte enumItem : StructureCompte.values()) {
if (enumItem.getValue() == struct) {
solde.setStructureCompte(enumItem);
structureCompte = enumItem;
break;
}
} |
Ce n'est pas spécialement propre, donc j'aimerais savoir s'il existe un moyen de faire ça en un seul appel à une méthode.
Merci
Quand c'est déjà tout fait . . .
Bonjour,
il faut juste appeler la méthode ordinal() et tu auras ce que tu cherches.