如何创建一个键和值都作为枚举的EnumMap对象?

enum Month{JANUARY, FEBRUARY, MARCH, ...
}

enum Week{MONDAY, TUESDAY, WEDNESDAY, ...
}

Map<Month, String> monthMap = new EnumMap<>(Month.class); 可以像这样创建简单的 EnumMap,其中键是 Enum,值是 String

但是,我想创建 EnumMap,其中键和值都是枚举类型。

Map<Month, Week> monthWeekMap = new EnumMap<> ....
创建上述枚举映射对象的语法是什么。

回答

语法没有什么不同:

Map<Month, Week> monthWeekMap = new EnumMap<>(Month.class);

EnumMap构造仅需要Class的键类型的,以决定如何分配用于实际存储阵列(一个EnumMap有效仅有一个强类型阵列,其长度在枚举元素的数量:这是通过获得反射); 值类型本质上是无关紧要的,因为它只是在Object内部存储值。


以上是如何创建一个键和值都作为枚举的EnumMap对象?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>