Java | enum

Le mot-clé enum déclare un type énuméré. Enum est une « classe » spéciale qui représente un groupe de constantes (variables immuables). Pour créer une énumération, utilisez le mot clé enum et séparez les constantes par une virgule. Notez qu’ils doivent être en majuscules.

Les énumérations sont utilisées lorsque nous connaissons toutes les valeurs possibles au moment de la compilation.

Les énumérations en Java sont plus puissantes que les énumérations en C/C++. En Java, nous pouvons également y ajouter des variables, des méthodes et des constructeurs. L’objectif principal de « enum » est de définir nos propres types de données.
 
 

Déclaration d’une énumération en Java:

La déclaration d’une énumération peut être effectuée en dehors d’une classe ou à l’intérieur d’une classe mais pas à l’intérieur d’une méthode.

enum Langage 
{ 
    PHP, HTML, JAVA; 
} 
  
public class MaClasse 
{ 
    public static void main(String[] args) 
    { 
        Langage lang = Langage.JAVA; 
        System.out.println(lang); 
    } 
}

 
Sortie:

JAVA

 

Méthodes values(), ordinal() et valueOf():
  • Ces méthodes sont présentes dans java.lang.Enum.
  • La méthode values() peut être utilisée pour renvoyer toutes les valeurs présentes dans l’énumération.
  • La méthode ordinal(), chaque index(key) d’une constante enum peut être trouvé, tout comme l’index d’un tableau.
  • La méthode valueOf() renvoie la constante d’énumération de la valeur de chaîne spécifiée, si elle existe.

 
 

Exemple:
enum Langage 
{ 
    PHP, HTML, JAVA; 
}  
  
public class MaClasse 
{ 
    public static void main(String[] args) 
    { 
        Langage arr[] = Langage.values(); 
  
        for (Langage value : arr) 
        { 
            System.out.println(value + ": se trouve à l'index " + value.ordinal()); 
        } 
  
        System.out.println(Langage.valueOf("JAVA")); 
    } 
}

 
Sortie:

PHP: se trouve à l'index 0
HTML: se trouve à l'index 1
JAVA: se trouve à l'index 2
JAVA
QCM-Java

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *