Java中善用通用的枚举对象类实现代码业务的判断
原创
©著作权归作者所有:来自51CTO博客作者霸道流氓的原创作品,请联系作者获取转载授权,否则将追究法律责任
场景
在业务开发中,获取到某对象的属性需要对该对象的属性值进行判断。
根据不同的属性值从而执行不同的逻辑。
比如某班次对象有个班次类型属性,其属性值取值为:地面班次、井下班次、混合班次 。
在获取该对象的班次类型属性需要对该属性值进行判断,从而执行不同的逻辑。
注:
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
此属性值一般在数据库中会关联码表进行存储显示。
比如数据库中存储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吗这块逻辑也不用修改。