Maison > Java > javaDidacticiel > Comment Java définit-il la classe Enum pour implémenter la valeur et la description ?

Comment Java définit-il la classe Enum pour implémenter la valeur et la description ?

WBOY
Libérer: 2023-04-29 15:16:13
avant
1770 Les gens l'ont consulté

Définissez la classe Enum pour implémenter l'acquisition et la description de valeurs

Dans les langages de programmation informatique tels que C++ et Java, le type d'énumération (Enum) est un type de données spécial qui peut définir un ensemble de constantes prédéfinies pour une variable. Lors de l'utilisation d'un type énumération, la valeur de la variable de type énumération doit être l'une de ses valeurs prédéfinies.

1. Types d'énumération implémentés à l'aide du mot-clé class

Avant JDK5, le langage Java ne prenait pas en charge les types d'énumération et ne pouvait utiliser des classes que pour simuler et implémenter des types d'énumération.

/** 订单状态枚举 */public final class OrderStatus {    /** 属性相关 */
    /** 状态取值 */
    private final int value;    /** 状态描述 */
    private final String description;    /** 常量相关 */
    /** 已创建(1) */
    public static final OrderStatus CREATED = new OrderStatus(1, "已创建");    /** 进行中(2) */
    public static final OrderStatus PROCESSING = new OrderStatus(2, "进行中");    /** 已完成(3) */
    public static final OrderStatus FINISHED = new OrderStatus(3, "已完成");    /** 构造函数 */
    private OrderStatus(int value, String description) {        this.value = value;        this.description = description;
    }    /** 获取状态取值 */
    public int getValue() {        return value;
    }    /** 获取状态描述 */
    public String getDescription() {        return description;
    }
}
Copier après la connexion

2. Type d'énumération implémenté à l'aide du mot-clé enum

JDK5 fournit un nouveau type - le type d'énumération de Java peut créer un ensemble limité de valeurs nommées en tant que nouveau type, et ces valeurs nommées peuvent être. utilisés comme constantes, ce qui est une fonctionnalité très utile.

/** 订单状态枚举 */public enum OrderStatus {    /** 常量相关 */
    /** 已创建(1) */
    CREATED(1, "已创建"),    /** 进行中(2) */
    PROCESSING(2, "进行中"),    /** 已完成(3) */
    FINISHED(3, "已完成");    /** 属性相关 */
    /** 状态取值 */
    private final int value;    /** 状态描述 */
    private final String description;    /** 构造函数 */
    private OrderStatus(int value, String description) {        this.value = value;        this.description = description;
    }    /** 获取状态取值 */
    public int getValue() {        return value;
    }    /** 获取状态描述 */
    public String getDescription() {        return description;
    }
}
Copier après la connexion

En fait, le type Enum est un sucre de syntaxe, et le compilateur nous aide à analyser et à compiler la syntaxe. Grâce à la décompilation, vous pouvez voir que l'énumération Java génère en fait une classe après la compilation, qui hérite de java.lang.Enum et ajoute des méthodes courantes de types d'énumération telles que valeurs() et valeurOf().

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:yisu.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