• 联动枚举设计


    联动枚举
                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}),  

  • 相关阅读:
    linux的su:鉴定故障,或当密码正确
    点餐系统-----数据库设计
    自然灾害数据:中国台风数据集(更新至2022.3)
    OpenGL - PBR
    开源的远程桌面软件RustDesk
    PyQt5 拖拽与剪贴板
    深入解析Spring Boot的常用注解和组件(上)
    侯捷——2.C++标准库 体系结构与内核分析
    iOS——引用计数(一)
    CobalStrike(CS)上线隐藏IP和流量
  • 原文地址:https://blog.csdn.net/y666666y/article/details/126622485