【发布时间】:2021-05-19 16:41:58
【问题描述】:
我需要静态初始化一个 EnumMap。我知道两种方法。
- Map的of()方法的使用
private static final Map<<EnumKey>, <Value>> TEST_MAP = Map.of(ENUM_CONST1, "Value1", ENUM_CONST2, "Value2");
- 使用双括号初始化
private static final Map<<EnumKey>, <Value>> TEST_MAP = new EnumMap<>(EnumKey.class) {
{
put(ENUM_CONST1, "Value1");
put(ENUM_CONST2, "Value2");
}
};
有没有其他更清洁、更高效的方法?
【问题讨论】:
-
第二个是一个很大的反模式,你的第一个没有初始化
EnumMap,而是一个Map(不可变的)
标签: java enums static enum-map