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.