Java中善用通用的枚举对象类实现代码业务的判断

场景

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

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

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

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

注:

博客:
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吗这块逻辑也不用修改。

原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/13524399.html