Enum枚举的使用实现
2024-10-17 14:40:56
业务中涉及到的状态字段或者简单的选择项的使用。
例如:
1.定义enum枚举类。
package com.yjl.enums; import java.util.Objects; public enum GoodsUnitEnum { 重量("重量",),
件数("件数",),
体积("体积",);
String type;
Integer index; GoodsUnitEnum(String type, Integer index) {
this.type = type;
this.index = index;
} public String getType() {
return type;
} public Integer getIndex() {
return index;
} /**
* 通过index获取value
* @param index 枚举索引
* @return 枚举值
*/
public static String getValue(Integer index) {
for (GoodsUnitEnum c : GoodsUnitEnum.values()) {
if (Objects.equals(c.getIndex(), index)) {
return c.type;
}
}
return null;
}
/**
* 通过value获取index
* @param type 枚举值
* @return 枚举索引
*/
public static String getIndex(String type) {
for (GoodsUnitEnum c : GoodsUnitEnum.values()) {
if (Objects.equals(c.getType(), type)) {
return c.index+"";
}
}
return "error";
} }
2,(扩展)获取该枚举类中所有选择项:
package com.yjl.util; import com.yjl.enums.GoodsUnitEnum; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; public class EnumUtil { public static List<Map<String, String>> getGoodsUnitEnum() {
List<Map<String, String>> lm = new ArrayList<>();
Map<String, String> m;
for (int i = ; i < GoodsUnitEnum.values().length; i++) {
m = new HashMap<>();
m.put("id", GoodsUnitEnum.values()[i].getIndex() + "");
m.put("type", GoodsUnitEnum.values()[i].getType() + "");
lm.add(m);
}
return lm;
} }
3,(使用)简单使用一下;
可以通过名称获取类型;可以通过类型获取名称;也可以索引。
最新文章
- {Reship}{Matting}Image Matting
- Map-Reduce的工作机制
- MySQL中MySQL X.X Command Line Client一闪而过的问题
- MySQL查询原理及其慢查询优化案例分享(转)
- RGB Bayer Color分析
- 类库探源——System.ValueType
- Android 平滑图片加载和缓存库 Glide 使用详解
- Qt5:Qt文件操作类 QFile
- DataGridView很详细的用法
- Linux下的crontab
- Pi 3B+编译安装python3.6.8
- 基于JMH的Benchmark解决方案
- 【PyTorch深度学习60分钟快速入门 】Part5:数据并行化
- python爬虫---urllib库的基本用法
- 爬虫初窥day4:requests
- spring aop记录用户的操作
- .Net各版本新特性
- unity3d-地图制作之暗光
- Log4Net使用教程
- Oracle中的rownum不能使用大于>;的问题