当前位置: 首页 > news >正文

联动枚举设计

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

相关文章:

  • 视频批量添加透明水印,必须用这个方法
  • JS获取/修改文本框输入的内容value,修改div标签中的内容:innerHTML、innerTest
  • 我的世界Minecraft Java开服教程(Windows)开服器开服包下载开服网站服务器开服核心开服端开服软件mac版Java启动器资源包
  • java计算机毕业设计物业管理系统源码+系统+数据库+lw文档+mybatis+运行部署
  • Linux下把Tomcat做成服务,并开机自启(方式2-systemctl)
  • java计算机毕业设计西宁市农副产品物流信息系统源码+系统+数据库+lw文档+mybatis+运行部署
  • Python高校学生档案管理系统毕业设计源码071528
  • ​Linux·i2c驱动架构​
  • git代码仓库更换
  • SS【1】:转置卷积与膨胀卷积
  • tensorflow2从入门到精通——自编码器系列原理以及实现
  • python的opencv操作记录(五) - 空间域与频域转换
  • java学习day41(JavaWeb)JavaScript高级
  • 训练数据有缺陷?TrustAI来帮你!
  • WebSocket的使用,前后端发送消息的例子
  • [译] 怎样写一个基础的编译器
  • HTML-表单
  • IDEA常用插件整理
  • JS基础之数据类型、对象、原型、原型链、继承
  • learning koa2.x
  • Leetcode 27 Remove Element
  • SAP云平台里Global Account和Sub Account的关系
  • SwizzleMethod 黑魔法
  • Vue组件定义
  • windows下mongoDB的环境配置
  • 从0实现一个tiny react(三)生命周期
  • 蓝海存储开关机注意事项总结
  • 入手阿里云新服务器的部署NODE
  • 什么是Javascript函数节流?
  • 通过git安装npm私有模块
  • 走向全栈之MongoDB的使用
  • 进程与线程(三)——进程/线程间通信
  • 容器镜像
  • ###C语言程序设计-----C语言学习(6)#
  • #include到底该写在哪
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (分布式缓存)Redis哨兵
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (十六)一篇文章学会Java的常用API
  • (四)Android布局类型(线性布局LinearLayout)
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • (一)基于IDEA的JAVA基础1
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • .“空心村”成因分析及解决对策122344
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .net MySql
  • .Net Remoting(分离服务程序实现) - Part.3
  • .Net 代码性能 - (1)
  • .net 发送邮件
  • .Net 知识杂记
  • .Net程序帮助文档制作
  • .NET序列化 serializable,反序列化