第一种方式实现
/**
* 交通方式枚举类
*
* @author LiuW
*/
@Getter
@AllArgsConstructor
public enum TrafficEnum {
A(1, "高铁"),
B(2, "轮船"),
C(3, "飞机"),
D(4, "客车"),
E(5, "火车"),
F(6, "出租车"),
;
final int key;
final String value;
//获取根据key获取value
public static String getValue(String key) {
for (TrafficEnum ele : values()) {
if (key.equals(String.valueOf(ele.getKey()))) {
return ele.getValue();
}
}
return null;
}
//获取所有key,value
public static List<Map<String, Object>> toList() {
List<Map<String, Object>> list = new ArrayList<>();
for (TrafficEnum item : values()) {
Map<String, Object> map = new HashMap();
map.put("key", item.getKey());
map.put("value", item.getValue());
list.add(map);
}
return list;
}
}
在使用的时候直接调用TrafficEnum.getValue(key)/TrafficEnum.toList() 方法即可
第二种方法实现
@Getter
@AllArgsConstructor
public enum UserEnum {
/**
* web
*/
WEB("web", 1),
/**
* app
*/
APP("app", 2),
/**
* other
*/
OTHER("other", 3),
;
final String name;
final int category;
}
业务代码 userEnum.WEB.getName() 能获取到 web("web",1) 括号内的web值,
userEnum.WEB.getCategory()能获取到 web("web",1) 括号内的1值,
1294

被折叠的 条评论
为什么被折叠?



