Maison > Java > JavaBase > Explication détaillée de l'utilisation de enum (énumération) en Java

Explication détaillée de l'utilisation de enum (énumération) en Java

王林
Libérer: 2019-11-27 15:49:34
avant
2784 Les gens l'ont consulté

Explication détaillée de l'utilisation de enum (énumération) en Java

Principe Java Enum :

public enum Size{ SMALL, MEDIUM, LARGE, EXTRA_LARGE };
Copier après la connexion

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  
}
Copier après la connexion

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;
            }
        }
    }
Copier après la connexion

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;
    }
    }
Copier après la connexion

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());
    }
}
Copier après la connexion

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);
    }
    }
Copier après la connexion

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
        }
    }
Copier après la connexion

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!

Étiquettes associées:
source:cnblogs.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal