场景
在业务开发中,获取到某对象的属性需要对该对象的属性值进行判断。
根据不同的属性值从而执行不同的逻辑。
比如某班次对象有个班次类型属性,其属性值取值为:地面班次、井下班次、混合班次 。
在获取该对象的班次类型属性需要对该属性值进行判断,从而执行不同的逻辑。
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
此属性值一般在数据库中会关联码表进行存储显示。
比如数据库中存储0,实际显示地面班次。
但是在代码中总不能使用该属性与是否等于0做判断,这样如果0以后要修改为代表别的内容,
那么所有相关的代码都要修改。
我们可以在公共模块下新建一个枚举类
public enum Bclx { dm("0", "地面班制"), jx("1", "井下班制"), hh("2", "混合班制"); private final String code; private final String info; Bclx(String code, String info) { this.code = code; this.info = info; } public String getCode() { return code; } public String getInfo() { return info; } }
这里定义的code就要与数据库中存储的属性值的类型相对应。
然后在代码逻辑中这样判断
if(kqsjTian.getKqlx()!=null && kqsjTian.getKqlx().toString().equals(Bclx.dm.getCode())) { }
其中kqsjTian就是对象,getKqlx就是获取班次类型这个属性,然后与枚举类的dm的code进行对比。
这样以后如果修改了地面所使用的code吗这块逻辑也不用修改。