出现场景:在枚举类中,定义一个私有静态变量,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 MAP = new HashMap<>();
// 静态代码块
static {
for (DemoEnum demoEnum : DemoEnum.values()) {
MAP.put(demoEnum.getValue(), demoEnum);
}
}
/**
* 获取 静态 MAP的 keySet集合,
* 而且remove keySet中变量 会移除MAP中的元素
* @return
*/
public static Set getEnumValues(){
return MAP.keySet();
}
/**
* 把keySet 处理成List,就变成普通变量了,
* 方法执行完毕就会销毁
* @return
*/
public static List getEnumValueList(){
List integerList = Arrays.a