zoukankan      html  css  js  c++  java
  • 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吗这块逻辑也不用修改。

  • 相关阅读:
    第二章 信息的表示和处理(下)
    第二章 信息的表示和处理
    IDEA中新建子模块
    手动实现一个可重入锁
    Lock接口的认识和使用
    JDK提供的原子类原理与使用
    深入理解volatile原理与使用
    模拟死锁
    模拟自旋锁
    grep 如何自动标注颜色
  • 原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/13524399.html
Copyright © 2011-2022 走看看