java return用法_Java枚举的高级用法之多键值的映射使用
枚举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枚举的高级用法之多键值的映射使用相关推荐
- java map增加值_Java程序以创建HashMap并添加键值对
要创建HashMap,请使用HashMap类-HashMap hm = new HashMap(); 以键值对形式将元素添加到HashMap-hm.put("Bag", new I ...
- Java生成随机数的几种高级用法
转载自 进阶 | Java生成随机数的几种高级用法! 言归正传,众所周知,随机数是任何一种编程语言最基本的特征之一.而生成随机数的基本方式也是相同的:产生一个0到1之间的随机数.看似简单,但有时我们也 ...
- java typedef的用法_Java 枚举用法详解(二)
枚举可以添加方法 在概念章节提到了,枚举值默认为从0开始的有序数值 .那么问题来了:如何为枚举显示的赋值. Java 不允许使用 = 为枚举常量赋值 如果你接触过C/C++,你肯定会很自然的想到赋值符 ...
- java枚举类型enum用法_java枚举类型enum用法和原理介绍【传智播客】
Enum枚举类型 Enum的全写是Enumeration,这个词的翻译是列举.逐条陈述.细目.在程序语言中,枚举类型是一种特殊的数据类型(常用的数据类型比如字符串.整型),这种数据类型的变量值限定在固 ...
- 枚举类型enum用法_Java枚举深度解读,看这篇就够了
作者 | 涛GuoGuo的跟屁虫丶博Ke 来源 | urlify.cn/aaamQf 66套java从入门到精通实战课程分享 Java枚举 1.枚举类概念的理解与定义 一个类的对象是有限个,确定的,我 ...
- java中日历类的用法_java日期类的用法
java日期类的用法 不管你是处理财务交易还是计划着下一步的行动,你都要知道怎样在Java中建立,使用和显示日期.这需要你简单的查阅一下相应类的API参考:一个日期可以创建3个相关类的对象.这篇文章告 ...
- indexof java 用法_java中indexof的用法
indexOf()的用法,具体是什么意思?? indexOf()的意思:查找一个字符串中,第一次出现指定字符串的位置. indexOf()的用法: indexOf(int,ch) 先看第一个index ...
- java中finally用法_java中的finally用法总结
清单 1 说明 finally 语句块在 try 语句块中的 return 语句之前执行.我们再来看另一个例子(清单 2). 清单 2. 清单 2 的执行结果为: 清单 2 说明了 finally 语 ...
- sql not exists用法_SQL Server 2012 高级用法(一)
最近用到了SQL Server 相关数据库等问题,于是整理了如下SQL Server高级用法系列. 该系列不再介绍基础用法(select ,insert, update, delete, and or ...
最新文章
- python是如何进行内存管理的
- SharePoint 2007 Web Content Management 性能优化系列 3 - IIS压缩
- pyqt webview 执行js
- python学习费用-在上海学Python贵吗?Python培训费用是多少
- mysql每秒最多能插入多少条数据 ? 死磕性能压测
- php中empty功能,在php中empty函数起什么作用呢?
- MySQL常用存储引擎之Federated
- 对软件测试的认识你了解多少
- 跟我一起学.NetCore之配置变更监听
- Javascript之ES7详解
- mimo-ofdm无线通信技术及matlab实现_智芯文库 | FPGA无线通信课程连载——扰码的原理及实现...
- Microsoft Dynamics CRM Server 2011安装配置
- APACHE ACTIVEMQ安装
- java 在圆圈里添加字母,在圆圈内写入数字或字母的方法
- EovaJFinal在阿里云K8S实现多环境自动化部署
- Android Adb命令恢复出厂设置
- Apache NiFi简介
- 西游记中与孙悟空称过兄弟的人
- 关于长期久坐网站开发程序员身体健康的5点建议
- vm virtualbox识别U盘并挂载