千家信息网

java如何定义Enum类实现取值和描述

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章给大家分享的是有关java如何定义Enum类实现取值和描述的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。定义Enum类实现取值和描述在C++、Java等计算机编程语
千家信息网最后更新 2025年01月19日java如何定义Enum类实现取值和描述

这篇文章给大家分享的是有关java如何定义Enum类实现取值和描述的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

定义Enum类实现取值和描述

在C++、Java等计算机编程语言中,枚举类型(Enum)是一种特殊数据类型,能够为一个变量定义一组预定义的常量。在使用枚举类型的时候,枚举类型变量取值必须为其预定义的取值之一。

1.用class关键字实现的枚举类型

在JDK5之前,Java语言不支持枚举类型,只能用类(class)来模拟实现枚举类型。

/** 订单状态枚举 */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;    }}

2.用enum关键字实现的枚举类型

JDK5提供了一种新的类型--Java的枚举类型,关键字enum可以将一组具名的值的有限集合创建为一种新的类型,而这些具名的值可以作为常量使用,这是一种非常有用的功能。

/** 订单状态枚举 */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;    }}

其实,Enum类型就是一个语法糖,编译器帮我们做了语法的解析和编译。通过反编译,可以看到Java枚举编译后实际上是生成了一个类,该类继承了 java.lang.Enum,并添加了values()、valueOf()等枚举类型通用方法。

感谢各位的阅读!关于"java如何定义Enum类实现取值和描述"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

0