将code设置为map的key name设置为map的value ,可根据自己的实际业务改变
import java.util.Arrays;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.stream.Collectors;
public enum OperatingSystemEnum {
WINDOS(1,"windos"),
LINUX(2,"linux"),
MACOS(3,"macos"),
HM(4,"鸿蒙"),
;
private Integer code;
private String name;
OperatingSystemEnum(Integer code, String name){
this.code=code;
this.name=name;
}
public Integer getCode() {
return code;
}
public String getName() {
return name;
}
public static Map<Integer, String> getMap(){
OperatingSystemEnum[] gesEnums = OperatingSystemEnum.values();
Map<Integer, String> map = Arrays.stream(gesEnums)
.collect(Collectors.toMap(i -> i.getCode(), i -> i.getName())).entrySet()
.stream().sorted((e1, e2) -> e1.getKey().compareTo(e2.getKey()))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue,(e1, e2) -> e1, LinkedHashMap::new));
return map;
}
}
使用方法
Map<Integer, String> map = OperatingSystemEnum.getMap(); //获取EnumMap
String value = map.get(传入key对象);