Heim >Java >JavaBase >Detaillierte Erläuterung der Verwendung von enum (Aufzählung) in Java

Detaillierte Erläuterung der Verwendung von enum (Aufzählung) in Java

王林
王林nach vorne
2019-11-27 15:49:342789Durchsuche

Detaillierte Erläuterung der Verwendung von enum (Aufzählung) in Java

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen