Java >> Tutoriel Java >  >> Tag >> String

Exemple d'énumération Java | Énumération | Chaîne | Constructeur et méthodes

Une énumération Java est un type de données spécial, où ce type de données a un groupe de variables constantes prédéfinies. Une variable a une valeur prédéfinie (variables non modifiables, comme les variables finales). Par exemple, A jours dans une semaine – Lun, Tus…etc. La direction terrestre Nord, Est, Ouest et Sud. Que les deux sont des valeurs égales prédéfinies pour les variables.

Il est utilisé lorsque vous souhaitez représenter un ensemble fixe de constantes. Par exemple, les drapeaux dans le programme ou le menu, etc.

Les énumérations Java sont ajoutées dans Java 5 et sa forme complète est l'énumération Java. Dans ce didacticiel, vous apprendrez ce qu'est Java enum et comment le créer avec son utilisation.

Exemple d'énumération Java

En tant qu'énumération de classe, il suffit d'utiliser "mot-clé enum ” devant le nom Enum Class en Java.

Il y a quelques conseils pour constant - Il doit être écrit en majuscules, donc les champs de type enum également en majuscules. Vérifiez l'exemple de classe enum ci-dessous.

public enum Day {
    SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
    THURSDAY, FRIDAY, SATURDAY 
}

Pour accéder à enum les constantes utilisent le point syntaxe avec :

Day myDay = Day.FRIDAY;

Code complet :

enum Day {
    SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
    THURSDAY, FRIDAY, SATURDAY
}

class Hello {

    public static void main(String[] args) {
        Day myDay = Day.FRIDAY;
        System.out.println(myDay);

    }
}

Sortie : VENDREDI

Chaîne d'énumération (toString)

Il est important que Java Enum String ait besoin de temps. Vous pouvez le faire avec les méthodes use toString(). Voici un exemple de code.

Day myDay = Day.FRIDAY;
System.out.println(myDay.toString());

Enum dans une instruction Switch

Pour vérifier les valeurs correspondantes, vous pouvez utiliser Enumeration dans une instruction Switch.

enum Speed {
    LOW,
    MEDIUM,
    HIGH
}

class Hello {

    public static void main(String[] args) {
        Speed mySpeed = Speed.MEDIUM;

        switch(mySpeed) {
            case LOW:
                System.out.println("Low Speed");
                break;
            case MEDIUM:
                System.out.println("Medium Speed");
                break;
            case HIGH:
                System.out.println("High Speed");
                break;
        }
    }
}

Sortie :Vitesse moyenne

Parcourir une énumération

Les méthodes Java enum – Une méthode values() , qui renvoie un tableau de toutes les constantes enum. Cette méthode est utile si vous souhaitez parcourir les constantes d'une énumération comme dans l'exemple ci-dessous.

enum Speed {
    LOW,
    MEDIUM,
    HIGH
}

class Hello {
    public static void main(String[] args) {

        for (Speed mySpeed : Speed.values()) {
            System.out.println(mySpeed);
        }
    }
}

Sortie : BAS
MOYEN
ÉLEVÉ

Enum entier & Valeur de la clé d'énumération Java

Vous avez vu la chaîne Enum ci-dessus maintenant, vous avez peut-être une question est possible de convertir Java Enum in int ou en créant Enum int ?

Besoin de créer une variable finale publique et un constructeur privé identique à l'exemple ci-dessous. Où chaque contenu a une valeur (paire clé-valeur) de celui-ci.

enum Speed {
    LOW(10),
    MEDIUM(50),
    HIGH(100);
    public final int value;

    private Speed(int value) {
        this.value = value;
    }
}

class Hello {

    public static void main(String[] args) {
        Speed mySpeed = Speed.LOW;

        System.out.println(mySpeed.value);
    }
}

Sortie : 10

Numéro unique Enum Ordinal

Si vous voulez un numéro unique qui représente la valeur enum, vous pouvez utiliser ordinal() .

enum Color {
    White,
    Green,
    Blue,
    Purple,
    Orange,
    Red
}

class Hello {

    public static void main(String[] args) {

        //cast enum to int
        int color = Color.Blue.ordinal();
        System.out.println(color);
    }
}

Sortie : 2

Constructeur d'énumération Java

Le constructeur d'un type enum doit être un accès privé (package-private). Il créera automatiquement une constante telle que définie au début du corps de la classe enum. Mais vous ne pouvez pas invoquer vous-même un constructeur enum, consultez l'exemple ci-dessous.

enum Apple {
    A(100), B(190), C(120);

    private int price; // price of each apple

    // Constructor
    Apple(int p) {
        price = p;
    }

    int getPrice() {
        return price;
    }
}

public class Fruits {
    public static void main(String args[]) {
        Apple ap;

        // Print price of Apple A.
        System.out.println(Apple.A.getPrice());

        // Display all apples and prices.
        System.out.println("All apple prices:");
        for (Apple a : Apple.values())
            System.out.println(a + " costs " + a.getPrice());
    }
}

Sortie : 100
Tous les prix des pommes :
A coûte 100
B coûte 190
C coûte 120

Méthodes Enum en Java

Certaines méthodes d'enum sont les méthodes values(), ordinal() et valueOf(). Voici un exemple complet et l'utilisation de toutes les méthodes.

enum Color {
    WHITE, BLACK, BLUE;
}

public class Hello {
    public static void main(String[] args) {
        // Calling values()
        Color arr[] = Color.values();

        // enum with loop
        for (Color col : arr) {
            // Calling ordinal() to find index
            // of color.
            System.out.println(col + " at index "
                    + col.ordinal());
        }

        System.out.println(Color.valueOf("WHITE"));
    }
}

Sortie : BLANC à l'indice 0
NOIR à l'indice 1
BLEU à l'indice 2
BLANC

Points importants à retenir pour Java Enum

  • Enum peut implémenter une interface mais ne peut pas étendre une classe, car il étend en interne une classe Enum .
  • Il peut avoir des champs (variables, etc.), des constructeurs et des méthodes.
  • Un Enum peut être parcouru.
  • Améliore la sécurité des types.
  • Facile à utiliser dans une instruction de contrôle telle qu'une instruction switch.

Question : Quelle est la différence entre les énumérations et les classes ?

Réponse :Une énumération Java peut être similaire à une classe Java, mais avec certaines restrictions telles que Enum, les méthodes ne peuvent pas être remplacées. Il a aussi des variables et des méthodes mais toutes constantes.

Une énumération n'est pas utilisée pour créer un objet et ne peut pas étendre les classes mais peut implémenter des interfaces. Une interface d'implémentation est la même que dans les classes.

Question : Pourquoi et où utiliser Java Enums ?

Réponse :Utilisez-le là où les variables ne changeront pas comme les jours de la semaine.


Balise Java