Heim > Java > JavaBase > Hauptteil

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

王林
Freigeben: 2019-11-27 15:49:34
nach vorne
2759 Leute haben es durchsucht

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

Java Enum-Prinzip:

public enum Size{ SMALL, MEDIUM, LARGE, EXTRA_LARGE };
Nach dem Login kopieren

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  
}
Nach dem Login kopieren

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;
            }
        }
    }
Nach dem Login kopieren

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;
    }
    }
Nach dem Login kopieren

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());
    }
}
Nach dem Login kopieren

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);
    }
    }
Nach dem Login kopieren

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
        }
    }
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage