出现场景:在枚举类中,定义一个私有静态变量,MAP来存储Enum中的所有值,然后在其他类中 使用这个静态变量的值...
public enum DemoEnum {
ELE_1(1, "元素1"),
ELE_2(2, "元素2"),
ELE_3(3, "元素3");
private int value;
private String desc;
private static Map<Integer, DemoEnum> MAP = new HashMap<>();
// 静态代码块
static {
for (DemoEnum demoEnum : DemoEnum.values()) {
MAP.put(demoEnum.getValue(), demoEnum);
}
}
/**
* 获取 静态 MAP的 keySet集合,
* 而且remove keySet中变量 会移除MAP中的元素
* @return
*/
public static Set<Integer> getEnumValues(){
return MAP.keySet();
}
/**
* 把keySet 处理成List,就变成普通变量了,
* 方法执行完毕就会销毁
* @return
*/
public static List<Integer> getEnumValueList(){
List<Integer> integerList &