Java Enums : comment créer des constantes dans votre code

Les enums en langage Java (en français « type énuméré ») vous permettent de créer des variables avec des valeurs fixes. Ces variables sont écrites en majuscules et ne peuvent pas être modifiées ultérieurement. Elles permettent d’améliorer la logique et la lisibilité de votre code et contribuent ainsi à créer un clean code.

Qu’est-ce qui caractérise les enums en Java ?

Derrière le terme Java Enums se cache un type de données qui peut certes être utilisé au sein d’une classe traditionnelle, mais qui s’en distingue principalement sur un point. Un enum est notamment un genre de variable qui dispose d’options de valeurs définies, fixées et donc limitées. Les enums en langage Java sont donc des constantes qui empêchent l’utilisation de valeurs non souhaitées dans un code. Cela permet de garantir la structure logique d’un code et d’en améliorer la lisibilité. Le terme « enum » est emprunté au mot anglais enumeration qui signifie « énumération » ou « liste ».

Hébergement Web
Hébergement Web flexible, performant et sûr
  • Certificat SSL et protection DDoS
  • Sauvegarde et restauration des données
  • Assistance 24/7 et conseiller personnel

La syntaxe des enums en Java

La syntaxe des enums en Java est toujours structurée de la même manière et ressemble à ceci :

enum nom_de_la_classe {
	VALEUR1,
	VALEUR2,
	VALEUR3
}
java

Ainsi, si vous souhaitez définir cette classe, commencez par le mot-clé enum, que vous utiliserez à la place de class ou interface. Nommez ensuite la classe spéciale, puis placez les constantes autorisées souhaitées entre accolades. Les constantes sont toutes écrites en majuscules et séparées par des virgules.

Exemple de classe spéciale

Un exemple possible d’enums en langage Java est une liste des mois de l’année. Celle-ci ne contient que douze valeurs possibles qui peuvent être créées comme constantes. Si une variable de type « mois » est requise ultérieurement, seules les constantes définies seront autorisées. Le code, dans cet exemple, prend la forme suivante :

enum Mois {
	JANVIER,
	FEVRIER,
	MARS,
	AVRIL,
	MAI,
	JUIN,
	JUILLET,
	AOUT,
	SEPTEMBRE,
	OCTOBRE,
	NOVEMBRE,
	DECEMBRE
}
java

À présent, pour déclarer une variable de type « mois », il suffit de lui attribuer une valeur et d’utiliser la commande Java System.out.println, pour l’afficher. Dans le code, cela ressemble à ceci :

public class Main {
	public static void main(String[] args) {
Mois mois = Mois.AVRIL;
System.out.println(mois);
	}
}
java

Enums Java au sein d’une classe

Les enums Java peuvent également être utilisés à l’intérieur d’une classe. Pour notre exemple précédent, le code se présenterait ainsi :

public class Main {
	enum Mois {
	JANVIER,
	FEVRIER,
	MARS,
	AVRIL,
	MAI,
	JUIN,
	JUILLET,
	AOUT,
	SEPTEMBRE,
	OCTOBRE,
	NOVEMBRE,
	DECEMBRE
}
		public static void main(String[] args) {
Mois mois = Mois.AVRIL;
System.out.println(mois);
		}
}
java

La méthode values pour interroger toutes les constantes

Pour afficher toutes les valeurs disponibles, utilisez la méthode values(). Celle-ci affiche les constantes sous forme de tableau. Dans notre exemple, le code correspondant serait :

enum Mois {
JANVIER,
FEVRIER,
MARS,
AVRIL,
MAI,
JUIN,
JUILLET,
AOUT,
SEPTEMBRE,
OCTOBRE,
NOVEMBRE,
DECEMBRE
}
public class Main {
	public static void main(String[] args) {
for (Mois mois : Mois.values()) {
System.out.println(mois);
		}
	}
}
java

Enums Java avec switch

En langage Java, il est également possible de combiner les enums avec d’autres méthodes. Voici un exemple de combinaison avec switch() :

enum Mois {
JANVIER,
FEVRIER,
MARS,
AVRIL,
MAI,
JUIN,
JUILLET,
AOUT,
SEPTEMBRE,
OCTOBRE,
NOVEMBRE,
DECEMBRE
}
public class Main {
	public static void main(String[] args) {
		Mois mois = Mois.AVRIL;
switch (mois) {
case AVRIL:
System.out.println("La piscine municipale est fermée.");
break;
case MAI:
System.out.println("La piscine municipale est fermée.");
break;
case JUIN:
System.out.println("La piscine municipale se réjouit de votre visite !");
break;
// Vous pouvez désormais essayer cela pour tous les mois.
		}
	}
}
java
Cet article vous a-t-il été utile ?
Page top