Comment rechercher une énumération (enum) en Java à partir de sa valeur ?

En Java, il est possible de rechercher une énumération en fonction de sa valeur mais également de son abréviation.

Dans le langage Java, les énumérations sont des structures spécifiques qui contiennent une liste de valeurs possibles. Vous pouvez rechercher une énumération en fonction de sa valeur mais également de son abréviation.

Pour chaque énumération créée, la méthode valueOf() est automatiquement implémentée. Cette méthode retourne l'énumération dont la valeur correspond à l'argument transmis. Elle lève une exception si aucune énumération n'est trouvée.

public enum jour
{
 LUNDI, MARDI, MERCREDI, JEUDI, VENDREDI, SAMEDI, DIMANCHE;
}
//Utilisation
enum jour = jour.valueOf(MERCREDI);

Il est également possible d'affecter à chaque énumération une abréviation. L'attribut abbr correspond à cette abréviation. On peut donc créer sa propre méthode de recherche par abréviation. La méthode va parcourir chaque valeur, ce qui est possible avec la méthode values().

public enum jour
{
 LUNDI(Lu), MARDI(Ma), MERCREDI(Me), JEUDI(Je), VENDREDI(Ve), SAMEDI(Sa), DIMANCHE(Di);
 public static jour rechercheParAbrévation(String abrevation){
 for(jour v : values()){
 if( v.abbr.equals(abrevation)){
 return v;
 }
 }
 return null;
 }
}
//Utilisation
enum jour = jour.rechercheParAbrevation(Me);

Java