Java Enum-Prinzip:
public enum Size{ SMALL, MEDIUM, LARGE, EXTRA_LARGE };
Tatsächlich ist der durch diese Deklaration definierte Typ eine Klasse, die hier genau vier Instanzen hat keine neuen Objekte zu konstruieren.
Daher müssen Sie beim Vergleichen der Werte zweier Aufzählungstypen nie die Methode equal aufrufen, sondern einfach „==“ direkt verwenden. (Die Methode equal() verwendet auch == direkt, beide haben den gleichen Effekt)
Empfohlene verwandte Video-Tutorials: Java-Lehrvideo
Verwendung eins: Konstanten
Vor JDK1.5 haben wir Konstanten wie folgt definiert: public static fianl....
. Nun, mit Aufzählungen können zusammengehörige Konstanten in einem Aufzählungstyp gruppiert werden, und Aufzählungen bieten mehr Methoden als Konstanten.
public enum Color { RED, GREEN, BLANK, YELLOW }
Verwendung 2: switch
Die switch-Anweisung vor JDK1.6 unterstützt nur die Typen int, char und enum, um unseren Code lesbarer zu machen.
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; } } }
Verwendung 3: Neue Methoden zur Enumeration hinzufügen
Wenn Sie planen, Ihre eigene Methode anzupassen, müssen Sie am Ende der Enum-Instanzsequenz ein Semikolon hinzufügen . Und Java erfordert, dass die Enum-Instanz zuerst definiert werden muss.
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; } }
Verwendung 4: Überschreiben der Aufzählungsmethode
Das Folgende ist ein Beispiel für das Überschreiben der toString()-Methode.
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()); } }
Verwendung 5: Implementieren Sie die Schnittstelle
Alle Aufzählungen erben von der Klasse java.lang.Enum. Da Java keine Mehrfachvererbung unterstützt, können Aufzählungsobjekte nicht von anderen Klassen erben.
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); } }
Verwendung 6: Verwenden Sie Schnittstellen zum Organisieren von Aufzählungen
public interface Food { enum Coffee implements Food { BLACK_COFFEE, DECAF_COFFEE, LATTE, CAPPUCCINO } enum Dessert implements Food { FRUIT, CAKE, GELATO } }
Weitere verwandte Artikel und Tutorials finden Sie unter: Erste Schritte mit Java
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Verwendung von enum (Aufzählung) in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!