java 前端页面传过来的值怎么防止篡改_「Java三分钟」精准而优雅——枚举类详解...

542d5b457b466c74786ee8594b1eb2c8.png

关注我,每天三分钟,带你轻松掌握一个Java相关知识点。

1.为什么要用枚举

你在读一个老工程代码时,是否经常看见有几个类,里面放着成百上千的静态常量,场面相当恐怖,而且如果不加注释,很多你都不知道这些常量代表这什么。而且这些静态常量可以随意更改甚至参加计算,安全性就不用说了。

你在读业务源码时,经常性的能看到这样的代码:

c0ae9d7b7f53f76b87aa435ed2f3cd87.png

要是这1234没有注释,那真的心态当场爆炸。

为了解决以上这些问题,枚举类型就应运而生了。那么什么是枚举类呢?它又怎么解决上述问题的呢?

b40213239d5085e7dd539cb0c8915619.png

我们来看看枚举类的使用:

0d7aee1c29d3b622bf6c404eab99cb50.png
7d9ae360f69f6848b4048e484baf0b1d.png

运行结果:

44ba10ca3736ab857fb92b0888e32997.png

以上是一个简单的枚举类示例,我们可以看到,代码的可读性明显增强了,你能直接通过枚举项了解它代表的意思,远远胜于之前的一堆完全不知道是什么意思的静态变量。

switch-case语句对枚举的支持更是让代码书写的便捷性大大提高。

代码的后期维护,我就不用多说了吧,如果用以前的1234,你还要去静态常量类中去找解释去。

2.怎么创建枚举

9ed3967f9e845979abc1120e67572cdf.png

1)要在类上加上 enum

2)把枚举项,用有意义的单词表达出来,如MAN、WOMAN(这里推荐大写)。

其实以上两步就完成了一个枚举类的创建。但你可以使用枚举项的属性来完成更高级的用法。

3)在枚举上后面加上括号,可以写多个属性,但要注意,每个枚举项的属性类型和数量要保持一致。

4)在构造参数中,添加你的枚举类的属性,并构建对应属性的get方法。

3.应用场景

1)字典表中对应的字典。如果你是写web后端的人员,那么前端传过来的下拉框中的属性值你一定不陌生,我们之前常用的做法是去字典表中根据code去查name,有了枚举,你可以针对一些不经常改动的字典生成枚举,如男女、是否、星期。

2)与switch-case合用。上述例子用已经给出了使用例子,可以看到代码可读性非常高,即使换另一个程序员来维护,也能轻松读懂。

3)标识一些常量。这个用法就和之前静态常量的使用方法相同了,另外多说一句,枚举类编译完后,也是public static final +枚举项。

以上就是今天的知识点,各位小伙伴get到吗?创作不易,望各位多多点赞收藏,有什么建议可以留言告诉我,我会积极采纳!