场景

在业务开发中,获取到某对象的属性需要对该对象的属性值进行判断。

根据不同的属性值从而执行不同的逻辑。

比如某班次对象有个班次类型属性,其属性值取值为:地面班次、井下班次、混合班次 。

在获取该对象的班次类型属性需要对该属性值进行判断,从而执行不同的逻辑。

注:

​​ 关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

此属性值一般在数据库中会关联码表进行存储显示。

比如数据库中存储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吗这块逻辑也不用修改。