• 联动枚举设计


    联动枚举
                1,基础枚举(编码,描述),设置对应的属性获取方法,一般返回另一属性
                2,综合枚举(分类,子类枚举数值),设置综合get赛选方法,一般返回大类枚举  綜合枚举的定位由子枚举编码决定
                3,根据输入参数获取对应的综合枚举
                4,根据业务要求,是哪种综合枚举就最什么业务(每个字段是否可编辑单独设置字段编制)
                5,枚举get返回类型还是另一个其他字段根据业务需要,返回整个类型1,总体综合判断时,2,需要其他更多信息时
                

    用成员map也可以实现

     TestEnum
        Test_10(10,
                new Integer[]{TestStEnum.R.code(), TestStEnum.O.code()},
                new Integer[]{TestTEnum.W.code()},
                TestTypeEnum.P.code(),
                TestTypeEnum.M.code(),
                TestNodeEnum.M.code()),
                
                 TestEnum testEnum = TestEnum.get(
                                item.getSt(), item.getType(), item.getOType(), item.getOType(), item.getN());
                
                Test_10.equals(testEnum)
                
               
                     
                     public static Test1Enum get(Integer st, Integer wt, Integer ot, Integer os, Integer wn) {
            for (Test1Enum item : values()) {
                if (checkArray(item.st(), st) &&
                        checkArray(item.wt(), wt) &&
                        checkInteger(item.ot(), ot) &&
                        checkInteger(item.os(), os) &&
                        checkInteger(item.wn(), wn)) {
                    return item;
                }
            }
            return null;
        }
         private static boolean checkArray(Integer[] target, Integer origin) {
            if (ObjectUtils.isEmpty(target) && origin == null) {
                return true;
            } else if (target != null && origin != null) {
                return Arrays.asList(target).contains(origin);
            } else {
                return false;
            }
        }

        private static boolean checkInteger(Integer target, Integer origin) {
            if (target == null && origin == null) {
                return true;
            } else if (target != null && origin != null) {
                return target.equals(origin);
            } else {
                return false;
            }
            
            
               DATE("日期时间",
                new TestdEnum[]{TestdEnum.O, TestdEnum.C},
                new TestrEnum[]{TestrEnum.E, TestrEnum.A, TestrEnum.B,
                        TestrEnum.N, TestrEnum.NN}),  

  • 相关阅读:
    LetCode之热题100.1——哈希(两数之和)
    NLLLOSS & CrossEntropyLoss
    java生成PDF的Util
    [激光原理与应用-26]:《激光原理与技术》-12- 激光产生技术-短脉冲、超短脉冲、调Q技术、锁模技术
    【C语言】数组
    OpenCV 4.x 版本的新特性都有哪些?
    Vue3高频面试题+八股文
    三、NLP中的句子关系判断
    centos6 升级glibc
    【聊天系统的优化】RPC方式的优化
  • 原文地址:https://blog.csdn.net/y666666y/article/details/126622485