Logo: Marc Harnist

N° 251 - Enum mot clef pour énumération en Java
 - Le 06/07/2018 Catégorie: java


Source sur Openclassroom



L'énumération est un type de classe qui liste des objets.



* Une énumération est une classe contenant une liste de sous-objets.

* Une énumération se construit grâce au mot clé enum.

* Les enum héritent de la classe java.lang.Enum.

* Chaque élément d'une énumération est un objet à part entière.

* Vous pouvez compléter les comportements des objets d'une énumération en ajoutant des méthodes.



Exemple de classe enum:



package fr.marcharnist.garage;

public enum Langage {

PHP("Langage PHP", "Notepad++"), //That's an object !

C("Langage C", "Code block"), //That's another object

CPlus("Langage C+", "Visual Studio"), //...

Java("Langage Java", "Eclipse");



private String name;//Always private to protect the data

private String editor;

//Constructor (not obligatory: you can create an "enum" file without

//No "déclaration de portée": private is by default in an enum file

Langage(String name, String editor){

this.name = name;

this.setEditor(editor);

}

/*

* Try without this method toString!

*/

public String toString() {

return name;

}

public void getEditor() {

System.out.println("Editeur de " + this.name() + ": " + this.editor);

}

public void setEditor(String editor) {

this.editor = editor;

}

}



La classe Main qui appelle l'enum



package fr.marcharnist.garage;

public class Garage {

public static void main(String[] args) {

// TODO Auto-generated method stub

for(Langage lang : Langage.values()){

if(Langage.Java.equals(lang))

System.out.println("J'aime le : " + lang);

else

System.out.println(lang);

}



System.out.println();

System.out.println(Langage.C.equals(Langage.Java));



System.out.println();

Langage l1 = Langage.Java;

Langage l2 = Langage.C;

l1.getEditor();

l2.getEditor();



}

}