enum-枚举当做key-value业务使用
1.枚举当做key-value业务使用
package com.uwillbe.pad.enums; import java.util.ArrayList;
import java.util.List; /**
* @Author: 姿势帝
* @Description:
* @Date: Create in 14:36 2019/1/27
*/
public enum GroupEnum {
/**
* 分组id与分组名称
*/
GROUP_1(1, "物化历"),
GROUP_2(2, "物化地"),
GROUP_3(3, "物生历"),
GROUP_4(4, "物政历"),
GROUP_5(5, "物历地"),
GROUP_6(6, "物生政"),
GROUP_7(7, "物生地"),
GROUP_8(8, "物政地"),
GROUP_9(9, "物化政"),
GROUP_10(10, "物化生"),
GROUP_11(11, "化生历"),
GROUP_12(12, "化政历"),
GROUP_13(13, "化生政"),
GROUP_14(14, "化政地"),
GROUP_15(15, "化历地"),
GROUP_16(16, "化生地"),
GROUP_17(17, "生历地"),
GROUP_18(18, "生政地"),
GROUP_19(19, "生政历"),
GROUP_20(20, "政历地"); /** 枚举值 */
private final Integer code; /** 枚举描述 */
private final String message; /**
* 构造方法
* @param code
* @param message
*/
GroupEnum(Integer code, String message) {
this.code = code;
this.message = message;
} public Integer getCode() {
return code;
} public String getMessage() {
return message;
} /**
* 通过code获取msg
*
* @param code 枚举值
*
* @return
*/
public static String getMsgByCode(Integer code) {
if (code == null) {
return null;
}
GroupEnum enumList = getByCode(code);
if (enumList == null) {
return null;
}
return enumList.getMessage();
} /**
* 通过枚举<code>code</code>获得枚举
*
* values() 方法将枚举转变为数组
*
* @return AuthGradeEnum
*/
public static GroupEnum getByCode(Integer code) {
for (GroupEnum enumList : values()) {
if (enumList.getCode().equals(code)) {
return enumList;
}
}
return null;
} /**
* 获取全部枚举
*
* @return List<AuthGradeEnum>
*/
public static List<GroupEnum> getAllEnum() {
List<GroupEnum> list = new ArrayList<>(values().length);
for (GroupEnum enumList : values()) {
list.add(enumList);
}
return list;
} /**
* 获取全部枚举值
*
* @return List<String>
*/
public static List<Integer> getAllEnumCode() {
List<Integer> list = new ArrayList<>(values().length);
for (GroupEnum enumList : values()) {
list.add(enumList.getCode());
}
return list;
} }
enum-枚举当做key-value业务使用的更多相关文章
- Python enum 枚举 判断 key(键) 或者 value(值)是否在枚举中
Python enum 枚举 判断 key(键) 或者 value(值)是否在枚举中 python 的基本用法请浏览:https://www.cnblogs.com/ibingshan/p/98564 ...
- C#的Enum——枚举
枚举 枚举类型声明为一组相关的符号常数定义了一个类型名称.枚举用于“多项选择”场合,就是程序运行时从编译时已经设定的固定数目的“选择”中做出决定. 枚举类型(也称为枚举)为定义一组可以赋给变量的命名整 ...
- MVC3不能正确识别JSON中的Enum枚举值
一.背景 在MVC3项目里,如果Action的参数中有Enum枚举作为对象属性的话,使用POST方法提交过来的JSON数据中的枚举值却无法正确被识别对应的枚举值. 二.Demo演示 为了说明问题,我使 ...
- Python中模拟enum枚举类型的5种方法分享
这篇文章主要介绍了Python中模拟enum枚举类型的5种方法分享,本文直接给出实现代码,需要的朋友可以参考下 以下几种方法来模拟enum:(感觉方法一简单实用) 复制代码代码如下: # way1 ...
- 获取Enum枚举值描述的几法方法
原文:获取Enum枚举值描述的几法方法 1.定义枚举时直接用中文 由于VS对中文支持的很不错,所以很多程序员都采用了此方案. 缺点:1.不适合多语言 2.感觉不太完美,毕竟大部分程序员大部分代码都使用 ...
- 集合 enum 枚举 简介 案例 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- Enum枚举的使用实现
业务中涉及到的状态字段或者简单的选择项的使用. 例如: 1.定义enum枚举类. package com.yjl.enums; import java.util.Objects; public enu ...
- Java Enum枚举 遍历判断 四种方式(包括 Lambda 表达式过滤)
示例代码如下: package com.miracle.luna.lambda; import java.util.Arrays; /** * @Author Miracle Luna * @Date ...
- C enum(枚举)
C enum(枚举) 枚举是 C 语言中的一种基本数据类型,它可以让数据更简洁,更易读. 枚举语法定义格式为: enum 枚举名 {枚举元素1,枚举元素2,……}; 接下来我们举个例子,比如:一星期有 ...
- c# (ENUM)枚举组合类型的谷歌序列化Protobuf
c# (ENUM)枚举组合类型的谷歌序列化Protobuf,必须在序列化/反序列化时加上下面: RuntimeTypeModel.Default[typeof(Alarm)].EnumPassthru ...
随机推荐
- python-requests模块的讲解和应用
在WINDOWS上可以通过命令行窗口(运行cmd命令), 利用pip进行自动地安装--------pip install requests 1.向网站发送请求:requests.get(url) 2. ...
- ubuntu高版本如何设置开机启动脚本
ubuntu-18.04不能像ubuntu14一样通过编辑rc.local来设置开机启动脚本 可以通过下列简单设置后,可以使rc.local重新发挥作用. 1.建立rc-local.service文件 ...
- 【Linux】【Maven】Linux下安装和配置Maven
创建maven的文件夹并下载maven的tar包到此文件夹中 //进入一个目录 cd /usr/local//创建一个文件夹 mkdir maven//下载maven的tar包 wget http:/ ...
- 【Excel技能】字符串包含某字符串个数?替换许多组字符串?
=len(单元格A)-len(substitute(单元格A,某字符串,)) 原理:将某字符串替换成空,前后字符串长即为减去的这个字符串长度,这个字符串出现个数=前后字符串长度之差/这个字符串长度 = ...
- web:频繁刷新浏览器的页面【小工具】
[目的] 频繁刷新某一浏览器页面,小测试一下加载性能,或者打开的文件是否及时关闭,会不会导致服务器奔溃 [小工具] 新建txt,输入以下内容,并保存为html的格式,然后在浏览器中打开,则会定时刷新指 ...
- Xcode OpenGL ES Frame Capture的使用
一.使用背景 近期在Xcode中使用OpenGL ES 2.0实现一些效果,刚开始存在一些性能问题(CPU和GPU),幸运的是Xcode中自带了免费的性能工具Instruments,其中包含OpenG ...
- requestAnimFrame动画兼容性封装
window.requestAnimFrame=function(){ return window.requestAnimationFrame ||window.webkitRequestAnimat ...
- hadoop动态添加删除节点datanode及恢复
1. 配置系统环境 主机名,ssh互信,环境变量等 本文略去jdk安装,请将datanode的jdk安装路径与/etc/hadoop/hadoop-evn.sh中的java_home保持一致,版本ha ...
- VS2017创建一个 ASP.NET Core2.0 应用,并搭建 MVC 框架
https://testerhome.com/topics/11747 1.使用最新版本的VS2017,并安装.NET Core2.0中相关开发工具 2.打开VS2017,点击文件-新建-项目,选 ...
- 最详细安装Esxi
https://www.vmware.com/cn/products/vsphere-hypervisor.html Exsi 是一款虚拟化系统,与VMware,VirtualBox不同,它不需要安装 ...