Java枚举优点以及使用场景

目录

一、枚举的优点:

二、枚举的特性

三、使用场景 


一、枚举的优点:

1 增强代码可读性

枚举可以让你代码看起来很舒服,而且常量统一管理起来,当项目很大的时候很容易管理。

2 传递参数错误

可以减少参数传递的错误性

3 去除equals两者判断

由于常量值地址唯一,使用枚举可以直接通过“==”进行两个值之间的对比,性能会有所提高。

4 编译优势(与常量类相比)

常量类编译时,常量被直接编译进二进制代码中,常量值在升级中变化后,需要重新编译引用常量的类,因为二进制代码中存放的是旧值。

枚举类编译时,没有把常量值编译到代码中,即使常量值发生改变,也不会影响引用常量的类。

5 修改优势(与常量类相比)

枚举类编译后默认final class,不允许继承可防止被子类修改。常量类可被继承修改、增加字段等,易导致父类不兼容。

6 枚举型可直接与数据库交互

7 Switch语句优势

使用int、String类型switch时,当出现参数不确定的情况,偶尔会出现越界的现象,这样我们就需要做容错操作(if条件筛选等),使用枚举,编译期间限定类型,不允许发生越界。

二、枚举的特性

  • 不能被继承

  • java 不能使用 = 赋值

  • enum 可以通过方法显示赋值

  • enum 可以添加普通方法、静态方法、抽象方法、构造方法

  • 枚举可以实现接口


三、使用场景 

 1、作为普通的常量使用:

如 星期、季节、颜色、城市 等等;通常配合 switch 语句使用。

 2、往枚举中添加变量:

构造函数、以达到灵活获取指定值的目的。      

3、通常用于一些业务系统中定义一些固定值:

如用于匹配数据库中的字段值等。在平时数据库表的设计中,我们一般以数字来代表一些常量,那么在 java 中就可以通过枚举来将数据库字段的数值和所代表的常量对应起来。        

4、往枚举中添加自己特定方法:

以实现自己所需的相关业务逻辑。比如:可以通过状态码获得对应的状态码信息。

强烈建议当你需要定义一组常量时,使用枚举类型。

尽量不要使用枚举的高级特性,事实上高级特性都可以使用普通类来实现,没有必要引入复杂性!
在项目中一般都是通过枚举来定义常量数据字典。


————————————————

学习参考链接:https://blog.csdn.net/qq_35972907/article/details/97915458

学习参考链接:https://blog.csdn.net/a1102325298/article/details/103311269

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

颜淡慕潇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值