简介
平时经常用到Enum枚举类,通过枚举类可以直接引用常量,并且枚举类中可以自定义许多方法,使用简洁灵活多变。鉴于枚举类的常用方法大同小异,所以小编整理一个工具类,省去每次手写的烦恼,以后就可以粘贴复制啦...
正文
Java 中的每一个枚举都继承自 java.lang.Enum 类。当定义一个枚举类型时,每一个枚举类型成员都可以看作是 Enum 类的实例,这些枚举成员默认都被 final、public, static 修饰,当使用枚举类型成员时,直接使用枚举名称调用成员即可。
1. 所有枚举实例都可以调用 Enum 类的方法
方法名称 | 描述 |
---|---|
values() | 以数组形式返回枚举类型的所有成员 |
valueOf() | 将普通字符串转换为枚举实例 |
compareTo() | 比较两个枚举成员在定义时的顺序 |
ordinal() | 获取枚举成员的索引位置 |
2. 常用的方法
/**
* 贷款办理-业务类型:
* @Created by tjm on 2023/6/6 9:56
* @Version 1.0.0
*/
public enum LoanTypeEnum {
AGR_LOAN("1", "农贷通"),
BUS_LOAN("2", "商贷通"),
POL_LOAN("3", "政贷通"),
NET_LOAN("4", "网贷通"),
PER_LOAN("5", "个人经营贷款"),
OTHER_LOAN("0", "其他小额贷款");
public String code;
public String value;
public String getCode() {
return this.code;
}
public String getValue() {
return this.value;
}
LoanTypeEnum() {}
LoanTypeEnum(String code, String value) {
this.code = code;
this.value = value;
}
/**
* 打印元素属性
*/
public static String printString(LoanTypeEnum codeEnum) {
return codeEnum.code + "_" + codeEnum.value;
}
/**
* 判断code是否存在
*/
public static boolean isExist(String code) {
return parse(code) != null;
}
/**
* 根据code获取枚举
*/
public static LoanTypeEnum parse(String code) {
for (LoanTypeEnum codeEnum : LoanTypeEnum .values()) {
if (codeEnum.getCode().equals(code)) {
return codeEnum;
}
}
return null;
}
/**
* 根据code获取name
*/
public static String getEnumValue(String code) {
LoanTypeEnum codeEnum = parse(code);
if (codeEnum == null) {
return "";
} else {
return codeEnum.getValue();
}
}
/**
* 获取枚举类Map
*/
public static LinkedHashMap<String, String> getEnumMap() {
LinkedHashMap<String, String> linkedMap = new LinkedHashMap<>();
for (LoanTypeEnum codeEnum : LoanTypeEnum .values()) {
linkedMap.put(codeEnum.getCode(), codeEnum.getValue());
}
return linkedMap;
}
/**
* 获取枚举类List
*/
public static List<Map<String, Object>> getEnumList() {
List<Map<String, Object>> retList = new ArrayList<>();
for (LoanTypeEnum codeEnum : LoanTypeEnum .values()) {
Map<String, Object> tempMap = new HashMap<>();
tempMap.put("code", codeEnum.getCode());
tempMap.put("value", codeEnum.getValue());
retList.add(tempMap);
}
return retList;
}
}