Leçon 32 : Comprendre et utiliser les énumérations (Enums)
Une énumération (Enum) est un type de classe spécial utilisé pour définir un ensemble fixe de constantes. Elles sont bien plus sûres et expressives que l'utilisation de constantes entières standards.
1. Déclaration de base d'un Enum
Les enums garantissent la sécurité du type, ce qui signifie qu'une variable déclarée comme un type Enum ne peut prendre que l'une des valeurs constantes définies.
java public enum DayOfWeek { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY }
// Utilisation : DayOfWeek today = DayOfWeek.MONDAY;
// Comparaison sûre : if (today == DayOfWeek.FRIDAY) { System.out.println("C'est vendredi !"); }
// Les enums fonctionnent parfaitement avec les instructions switch (modernes ou traditionnelles) : switch (today) { case SATURDAY, SUNDAY -> System.out.println("Week-end !"); default -> System.out.println("Jour de travail."); }
2. Les Enums comme classes enrichies
En Java, les enums sont des classes à part entière. Elles peuvent avoir des constructeurs, des champs d'instance et des méthodes, vous permettant d'associer un comportement ou des données à chaque constante.
java public enum CoffeeSize { SMALL(8), MEDIUM(12), LARGE(16);
private final int ounces;
// Le constructeur doit être privé ou de portée package
CoffeeSize(int ounces) {
this.ounces = ounces;
}
// Méthode Getter
public int getOunces() {
return ounces;
}
}
// Utilisation : CoffeeSize myCoffee = CoffeeSize.MEDIUM; System.out.println("Taille : " + myCoffee.getOunces() + " oz.");
Méthodes d'Enum standards : Tous les enums héritent de méthodes comme name() (retourne le nom de la constante sous forme de chaîne) et ordinal() (retourne l'index de la constante, en commençant par 0).