package test.enums;
import java.util.Arrays;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* @Author: test
* @Date: 2022/10/15 14:39
* @Description: 常量枚举类
*/
public enum ConstantEnum3 {
INCUMBENT(212, "正式", "regular", "IN", "在职"),
RESIGNATION(213, "离职", "leave", "OUT", "在职");
private long id;
private String msg;
private String dataCode;
private String dataType;
private String dataTypeName;
private static Map<Long, ConstantEnum3> dictDataMap;
private static Map<String, ConstantEnum3> dictDataStringMap;
static {
dictDataMap = Arrays.stream(ConstantEnum3.values()).collect(Collectors.toMap(ConstantEnum3::getId, Function.identity()));
dictDataStringMap = Arrays.stream(ConstantEnum3.values()).collect(Collectors.toMap(ConstantEnum3::getMsg, Function.identity()));
}
ConstantEnum3(long id, String msg, String dataCode, String dataType, String dataTypeName) {
this.id = id;
this.msg = msg;
this.dataCode = dataCode;
this.dataType = dataType;
this.dataTypeName = dataTypeName;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String getDataCode() {
return dataCode;
}
public void setDataCode(String dataCode) {
this.dataCode = dataCode;
}
public String getDataType() {
return dataType;
}
public static Map<Long, ConstantEnum3> getDictDataMap() {
return dictDataMap;
}
public static void setDictDataMap(Map<Long, ConstantEnum3> dictDataMap) {
ConstantEnum3.dictDataMap = dictDataMap;
}
public static Map<String, ConstantEnum3> getDictDataStringMap() {
return dictDataStringMap;
}
public static void setDictDataStringMap(Map<String, ConstantEnum3> dictDataStringMap) {
ConstantEnum3.dictDataStringMap = dictDataStringMap;
}
public static String getNamebyCode(long key){
return dictDataStringMap.get(key).getDataType();
}
}
package test.enums;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* @author :test
* @date :Created in 2022/3/15 14:44
* @description:
*/
public class test2 {
public static void main(String[] args) {
ConstantEnum3[] values = ConstantEnum3.values();
List<ConstantEnum3> constantEnum3s = Arrays.asList(ConstantEnum3.values());
Map<Long, ConstantEnum3> collect = constantEnum3s.stream().collect(Collectors.toMap(ConstantEnum3::getId, account -> account));
System.out.println(values);
collect.forEach((k, v) -> {
System.out.println(k + "====" + v.getId());
System.out.println(ConstantEnum3.getNamebyCode(k));
});
}
}