枚举Enum单映射使用

做Java的各位仁兄姐妹都知道,Java通过HashMap,以及枚举提供了方便的K-V映射功能,例如

枚举单映射使用

但是如果遇到多个键值映射,例如K-K-V的形式怎么办呢?可能有些人会说那还是用HashMap呗,对于需求的满足倒是可以,但是不够优雅直观,可读性不高!下面让我们一睹枚举的高级用法之多键值的映射风采。

枚举Enum多键值映射使用

譬如这个四合一智能门锁场景,可能其他微服务或第三方的键值映射是上面单映射那样的,但是由于历史原因或者是自身强迫症使能,总之就是对别人的key不爽,那么我们可以再转换一次,转成简单优雅的1,2,3..等等,此时枚举的多键值可以很友好的支持你的强迫症使能!废话少说,提码来见:

package com.falcon.design.enums;/**开门类型枚举*/public enum MoreEnums {    FACE(1000,  "0","人脸"),    FINGER(1001,"1","指纹"),    CARD(1002,  "2","刷卡"),    KEY(1003,   "3","钥匙");    private Integer key;    private String value;    private String desc;    MoreEnums(Integer key, String value, String desc) {        this.key = key;        this.value = value;        this.desc = desc;    }    public static String getValue(Integer key){        for (MoreEnums enums : values()){            if(enums.getKey().intValue() == key.intValue()){                return enums.value;            }        }        return "";    }    public static String getDesc(Integer key){        for(MoreEnums enums : values()){            if(enums.getKey().intValue() == key.intValue()){                return enums.desc;            }        }        return "";    }    public static String getDesc(String value){        for (MoreEnums enums : values()){            if(enums.getValue().equals(value)){ return enums.desc; }        }        return "";    }    public Integer getKey() {  return key;  }    public void setKey(Integer key) { this.key = key;}    public String getValue() { return value; }    public void setValue(String value) { this.value = value; }    public String getDesc() { return desc; }    public void setDesc(String desc) { this.desc = desc; }}

只要掌握了这个增强型循环的语法糖在枚举中的使用,那么对于key和value的数量以及获取方式也就变的随心所欲而不逾矩!

相关的代码已在gitee上进行了分享:git@gitee.com:fortunamajor/design.git

原创不易,感觉对自己有帮助的朋友不妨关注赞赏支持,老衲将不甚感激!

java return用法_Java枚举的高级用法之多键值的映射使用相关推荐

  1. java map增加值_Java程序以创建HashMap并添加键值对

    要创建HashMap,请使用HashMap类-HashMap hm = new HashMap(); 以键值对形式将元素添加到HashMap-hm.put("Bag", new I ...

  2. Java生成随机数的几种高级用法

    转载自 进阶 | Java生成随机数的几种高级用法! 言归正传,众所周知,随机数是任何一种编程语言最基本的特征之一.而生成随机数的基本方式也是相同的:产生一个0到1之间的随机数.看似简单,但有时我们也 ...

  3. java typedef的用法_Java 枚举用法详解(二)

    枚举可以添加方法 在概念章节提到了,枚举值默认为从0开始的有序数值 .那么问题来了:如何为枚举显示的赋值. Java 不允许使用 = 为枚举常量赋值 如果你接触过C/C++,你肯定会很自然的想到赋值符 ...

  4. java枚举类型enum用法_java枚举类型enum用法和原理介绍【传智播客】

    Enum枚举类型 Enum的全写是Enumeration,这个词的翻译是列举.逐条陈述.细目.在程序语言中,枚举类型是一种特殊的数据类型(常用的数据类型比如字符串.整型),这种数据类型的变量值限定在固 ...

  5. 枚举类型enum用法_Java枚举深度解读,看这篇就够了

    作者 | 涛GuoGuo的跟屁虫丶博Ke 来源 | urlify.cn/aaamQf 66套java从入门到精通实战课程分享 Java枚举 1.枚举类概念的理解与定义 一个类的对象是有限个,确定的,我 ...

  6. java中日历类的用法_java日期类的用法

    java日期类的用法 不管你是处理财务交易还是计划着下一步的行动,你都要知道怎样在Java中建立,使用和显示日期.这需要你简单的查阅一下相应类的API参考:一个日期可以创建3个相关类的对象.这篇文章告 ...

  7. indexof java 用法_java中indexof的用法

    indexOf()的用法,具体是什么意思?? indexOf()的意思:查找一个字符串中,第一次出现指定字符串的位置. indexOf()的用法: indexOf(int,ch) 先看第一个index ...

  8. java中finally用法_java中的finally用法总结

    清单 1 说明 finally 语句块在 try 语句块中的 return 语句之前执行.我们再来看另一个例子(清单 2). 清单 2. 清单 2 的执行结果为: 清单 2 说明了 finally 语 ...

  9. sql not exists用法_SQL Server 2012 高级用法(一)

    最近用到了SQL Server 相关数据库等问题,于是整理了如下SQL Server高级用法系列. 该系列不再介绍基础用法(select ,insert, update, delete, and or ...

最新文章

  1. python是如何进行内存管理的
  2. SharePoint 2007 Web Content Management 性能优化系列 3 - IIS压缩
  3. pyqt webview 执行js
  4. python学习费用-在上海学Python贵吗?Python培训费用是多少
  5. mysql每秒最多能插入多少条数据 ? 死磕性能压测
  6. php中empty功能,在php中empty函数起什么作用呢?
  7. MySQL常用存储引擎之Federated
  8. 对软件测试的认识你了解多少
  9. 跟我一起学.NetCore之配置变更监听
  10. Javascript之ES7详解
  11. mimo-ofdm无线通信技术及matlab实现_智芯文库 | FPGA无线通信课程连载——扰码的原理及实现...
  12. Microsoft Dynamics CRM Server 2011安装配置
  13. APACHE ACTIVEMQ安装
  14. java 在圆圈里添加字母,在圆圈内写入数字或字母的方法
  15. EovaJFinal在阿里云K8S实现多环境自动化部署
  16. Android Adb命令恢复出厂设置
  17. Apache NiFi简介
  18. 西游记中与孙悟空称过兄弟的人
  19. 关于长期久坐网站开发程序员身体健康的5点建议
  20. vm virtualbox识别U盘并挂载

热门文章

  1. JdbcTemplate详解 - 2
  2. 办公室影响同事关系的九种行为
  3. javascript与jQuery对照学习总结(一)(一些常规操作)
  4. 网络巨头秘修域名重大疏漏 互联网免遭黑客控制
  5. Scala的异常处理
  6. eruda/vconsole 手机端调试利器
  7. 洛谷 P1049 装箱问题(01背包)
  8. 斯坦福公开课3:欠拟合与过拟合
  9. 代码管理之SVN服务器及Git的创建与使用
  10. 支付宝打造公共账号业务网关, RSA密钥对生成