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类实现取值和描述"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
类型
状态
常量
编译
关键
关键字
内容
函数
变量
属性
更多
篇文章
订单
语法
语言
不错
实用
特殊
功能
实际
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
创业公司软件开发工资给多少
阿里云 游戏服务器
以下网络安全防御技术中
虚拟服务器安全设置
传奇服务器怎么修改药品
医疗大数据软件开发试验
多表关联 内存数据库
jsp数据库类
手抄报那个网络安全
华为网络技术支持工程师
安卓视频合并软件开发
浙江农业科研课题项目软件开发
初中网络安全考试题库
网络安全专业发展历程
网络安全教育公益讲座入口
日常办公如何利用服务器算力
山东济宁软件开发与应用
华为服务器底层接口是什么
广东bim软件开发工程报考
游戏网络或服务器异常怎么办
双生幻想服务器区别
服务器日志自动收集
大数据云计算服务器投资
软件开发需要答题吗
怎么学网络安全行业
navicat数据库连接报错1045
三店服务器属于哪个县
广东服务器电源都有哪些
网络技术管理主管安全
智慧水务软件开发