关注我,每天三分钟,带你轻松掌握一个Java相关知识点。
1.为什么要用枚举
你在读一个老工程代码时,是否经常看见有几个类,里面放着成百上千的静态常量,场面相当恐怖,而且如果不加注释,很多你都不知道这些常量代表这什么。而且这些静态常量可以随意更改甚至参加计算,安全性就不用说了。
你在读业务源码时,经常性的能看到这样的代码:
要是这1234没有注释,那真的心态当场爆炸。
为了解决以上这些问题,枚举类型就应运而生了。那么什么是枚举类呢?它又怎么解决上述问题的呢?
我们来看看枚举类的使用:
运行结果:
以上是一个简单的枚举类示例,我们可以看到,代码的可读性明显增强了,你能直接通过枚举项了解它代表的意思,远远胜于之前的一堆完全不知道是什么意思的静态变量。
switch-case语句对枚举的支持更是让代码书写的便捷性大大提高。
代码的后期维护,我就不用多说了吧,如果用以前的1234,你还要去静态常量类中去找解释去。
2.怎么创建枚举
1)要在类上加上 enum
2)把枚举项,用有意义的单词表达出来,如MAN、WOMAN(这里推荐大写)。
其实以上两步就完成了一个枚举类的创建。但你可以使用枚举项的属性来完成更高级的用法。
3)在枚举上后面加上括号,可以写多个属性,但要注意,每个枚举项的属性类型和数量要保持一致。
4)在构造参数中,添加你的枚举类的属性,并构建对应属性的get方法。
3.应用场景
1)字典表中对应的字典。如果你是写web后端的人员,那么前端传过来的下拉框中的属性值你一定不陌生,我们之前常用的做法是去字典表中根据code去查name,有了枚举,你可以针对一些不经常改动的字典生成枚举,如男女、是否、星期。
2)与switch-case合用。上述例子用已经给出了使用例子,可以看到代码可读性非常高,即使换另一个程序员来维护,也能轻松读懂。
3)标识一些常量。这个用法就和之前静态常量的使用方法相同了,另外多说一句,枚举类编译完后,也是public static final +枚举项。
以上就是今天的知识点,各位小伙伴get到吗?创作不易,望各位多多点赞收藏,有什么建议可以留言告诉我,我会积极采纳!