Principe Java Enum :
public enum Size{ SMALL, MEDIUM, LARGE, EXTRA_LARGE };
En fait, le type défini par cette déclaration est une classe, qui a exactement quatre instances Here Try. ne pas construire de nouveaux objets.
Par conséquent, lorsque vous comparez les valeurs de deux types d'énumération, vous n'avez jamais besoin d'appeler la méthode égale, mais utilisez simplement "==" directement. (La méthode equals() utilise également == directement, les deux ont le même effet)
Tutoriels vidéo associés recommandés : Vidéo d'enseignement Java
Utilisation : Constantes
Avant JDK1.5, nous définissions les constantes comme : public static fianl....
. Eh bien, désormais, avec les énumérations, les constantes associées peuvent être regroupées dans un type d'énumération, et les énumérations fournissent plus de méthodes que de constantes.
public enum Color { RED, GREEN, BLANK, YELLOW }
Utilisation 2 : switch
L'instruction switch avant JDK1.6 ne prend en charge que les types int, char et enum. L'utilisation d'énumérations peut rendre notre code plus lisible.
enum Signal { GREEN, YELLOW, RED } public class TrafficLight { Signal color = Signal.RED; public void change() { switch (color) { case RED: color = Signal.GREEN; break; case YELLOW: color = Signal.RED; break; case GREEN: color = Signal.YELLOW; break; } } }
Utilisation 3 : Ajouter de nouvelles méthodes à l'énumération
Si vous envisagez de personnaliser votre propre méthode, vous devez ajouter un point-virgule à la fin de la séquence d'instances d'énumération . Et Java exige que l'instance enum soit définie en premier.
public enum Color { RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4); // 成员变量 private String name; private int index; // 构造方法 private Color(String name, int index) { this.name = name; this.index = index; } // 普通方法 public static String getName(int index) { for (Color c : Color.values()) { if (c.getIndex() == index) { return c.name; } } return null; } // get set 方法 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getIndex() { return index; } public void setIndex(int index) { this.index = index; } }
Utilisation 4 : Remplacement de la méthode d'énumération
Ce qui suit est un exemple de remplacement de la méthode toString().
public class Test { public enum Color { RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4); // 成员变量 private String name; private int index; // 构造方法 private Color(String name, int index) { this.name = name; this.index = index; } // 覆盖方法 @Override public String toString() { return this.index + "_" + this.name; } } public static void main(String[] args) { System.out.println(Color.RED.toString()); } }
Utilisation 5 : Implémenter l'interface
Toutes les énumérations héritent de la classe java.lang.Enum. Puisque Java ne prend pas en charge l’héritage multiple, les objets d’énumération ne peuvent pas hériter d’autres classes.
public interface Behaviour { void print(); String getInfo(); } public enum Color implements Behaviour { RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4); // 成员变量 private String name; private int index; // 构造方法 private Color(String name, int index) { this.name = name; this.index = index; } // 接口方法 @Override public String getInfo() { return this.name; } // 接口方法 @Override public void print() { System.out.println(this.index + ":" + this.name); } }
Utilisation 6 : utiliser des interfaces pour organiser des énumérations
public interface Food { enum Coffee implements Food { BLACK_COFFEE, DECAF_COFFEE, LATTE, CAPPUCCINO } enum Dessert implements Food { FRUIT, CAKE, GELATO } }
Pour plus d'articles et de didacticiels connexes, veuillez consulter : Premiers pas avec Java
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!