Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Java

Maîtriser les enums Java : guide complet des enums et classes enum

Enums Java

Dans ce tutoriel, nous apprendrons les enums en Java. Nous apprendrons à créer et utiliser les enums et classes enum avec des exemples.

En Java, un enum (abréviation d'enumeration) est un type qui a un ensemble fixe de valeurs constantes. Nous utilisons le mot-clé enum pour déclarer les enums. Par exemple :

 enum Size { SMALL, MEDIUM, LARGE, EXTRALARGE }

Ici, nous avons créé un enum nommé Size. Il contient des valeurs fixes SMALL, MEDIUM, LARGE et EXTRALARGE.

Ces valeurs à l'intérieur des accolades sont appelées constantes d'enum (valeurs).

Note : Les constantes d'enum sont généralement représentées en majuscules.


Exemple 1 : Enum Java

 enum Size { SMALL, MEDIUM, LARGE, EXTRALARGE } class Main { public static void main(String[] args) { System.out.println(Size.SMALL); System.out.println(Size.MEDIUM); } }

Sortie

 SMALL MEDIUM

Comme on peut le voir, on utilise le nom de l'enum pour accéder aux valeurs constantes.

Aussi, nous pouvons créer des variables de types enum. Par exemple :

 Size pizzaSize;

Ici, pizzaSize est une variable du type Size. Elle ne peut être assignée qu'avec 4 valeurs.

 pizzaSize = Size.SMALL; pizzaSize = Size.MEDIUM; pizzaSize = Size.LARGE; pizzaSize = Size.EXTRALARGE;

Exemple 2 : Enum Java avec l'instruction switch

 enum Size { SMALL, MEDIUM, LARGE, EXTRALARGE } class Test { Size pizzaSize; public Test(Size pizzaSize) { this.pizzaSize = pizzaSize; } public void orderPizza() { switch(pizzaSize) { case SMALL: System.out.println("I ordered a small size pizza."); break; case MEDIUM: System.out.println("I ordered a medium size pizza."); break; default: System.out.println("I don't know which one to order."); break; } } } class Main { public static void main(String[] args) { Test t1 = new Test(Size.MEDIUM); t1.orderPizza(); } }

Sortie

 I ordered a medium size pizza.

Dans le programme ci-dessus, nous avons créé un type enum Size. Nous avons ensuite déclaré une variable pizzaSize du type Size.

Ici, la variable pizzaSize ne peut être assignée qu'avec 4 valeurs (SMALL, MEDIUM, LARGE, EXTRALARGE).

Remarquez l'instruction,

 Test t1 = new Test(Size.MEDIUM);

Cela appellera le constructeur Test() à l'intérieur de la classe Test. Maintenant, la variable pizzaSize est assignée avec la constante MEDIUM.

Basé sur la valeur, l'un des cas du switch est exécuté.


Classe Enum en Java

En Java, les types enum sont considérés comme un type spécial de classe. Il a été introduit avec la sortie de Java 5.

Une classe enum peut inclure des méthodes et champs comme les classes régulières.

 enum Size { constant1, constant2, …, constantN; // méthodes et champs }

Quand nous créons une classe enum, le compilateur créera des instances (objets) de chaque constante d'enum. Aussi, toute constante d'enum est toujours public static final par défaut.


Exemple 3 : Classe Enum Java

 enum Size{ SMALL, MEDIUM, LARGE, EXTRALARGE; public String getSize() { // this fera référence à l'objet SMALL switch(this) { case SMALL: return "small"; case MEDIUM: return "medium"; case LARGE: return "large"; case EXTRALARGE: return "extra large"; default: return null; } } public static void main(String[] args) { // appeler getSize() // en utilisant l'objet SMALL System.out.println("The size of the pizza is " + Size.SMALL.getSize()); } }

Sortie

 The size of the pizza is small

Dans l'exemple ci-dessus, nous avons créé une classe enum Size. Elle a quatre constantes SMALL, MEDIUM, LARGE et EXTRALARGE.

Puisque Size est une classe enum, le compilateur crée automatiquement des instances pour chaque constante d'enum.

Ici, dans la méthode main(), nous avons utilisé l'instance SMALL pour appeler la méthode getSize().

Note : Comme les classes régulières, une classe enum peut aussi inclure des constructeurs. Pour en savoir plus, visitez Java enum constructor.


Méthodes de la classe Enum Java

Il y a des méthodes prédéfinies dans les classes enum qui sont facilement disponibles pour l'utilisation.

1. Java Enum ordinal()

La méthode ordinal() retourne la position d'une constante d'enum. Par exemple :

 ordinal(SMALL) // retourne 0

2. Enum compareTo()

La méthode compareTo() compare les constantes d'enum basées sur leur valeur ordinale. Par exemple :

 Size.SMALL.compareTo(Size.MEDIUM) // retourne ordinal(SMALL) - ordinal(MEDIUM)

3. Enum toString()

La méthode toString() retourne la représentation en chaîne des constantes d'enum. Par exemple :

 SMALL.toString() // retourne "SMALL"

4. Enum name()

La méthode name() retourne le nom défini d'une constante d'enum sous forme de chaîne. La valeur retournée par name() est final. Par exemple :

 name(SMALL) // retourne "SMALL"

5. Java Enum valueOf()

La méthode valueOf() prend une chaîne et retourne une constante d'enum ayant le même nom de chaîne. Par exemple :

 Size.valueOf("SMALL") // retourne constante SMALL.

6. Enum values()

La méthode values() retourne un tableau de type enum contenant toutes les constantes d'enum. Par exemple :

 Size[] enumArray = Size.value();

Pourquoi les enums Java ?

En Java, l'enum a été introduit pour remplacer l'utilisation de constantes int.

Supposons que nous ayons utilisé une collection de constantes int.

 class Size { public final static int SMALL = 1; public final static int MEDIUM = 2; public final static int LARGE = 3; public final static int EXTRALARGE = 4; }

Ici, le problème survient si on affiche les constantes. C'est parce que seul le nombre est affiché ce qui pourrait ne pas être utile.

Donc, au lieu d'utiliser des constantes int, nous pouvons simplement utiliser des enums. Par exemple :

 enum Size { SMALL, MEDIUM, LARGE, EXTRALARGE }

Cela rend notre code plus intuitif.

Aussi, l'enum fournit une sécurité de type à la compilation.

Si nous déclarons une variable du type Size. Par exemple :

 Size size;

Ici, il est garanti que la variable contiendra l'une des quatre valeurs. Maintenant, si nous essayons de passer des valeurs autres que ces quatre, le compilateur générera une erreur.

Java

  1. Maîtriser les énumérations en C : Définition, déclaration et opérations sur les drapeaux
  2. Maîtriser les opérateurs Java : Types, syntaxe et exemples pratiques
  3. Commentaires Java : Types, utilisation et bonnes pratiques
  4. Maîtriser la boucle for améliorée en Java : Syntaxe, exemples et bonnes pratiques
  5. Maîtriser les chaînes de caractères en Java : Création, méthodes et bonnes pratiques
  6. Maîtriser les interfaces Java : concepts, implémentation et bonnes pratiques
  7. Maîtriser les classes internes anonymes en Java : définition, syntaxe et exemples pratiques
  8. Maîtriser les enums Java : guide complet des enums et classes enum
  9. Constructeurs d'enum Java expliqués avec exemple pratique