【问题标题】:how to create an EnumMap object with key and value both as Enum?如何创建一个键和值都作为枚举的 EnumMap 对象?
【发布时间】:2021-05-26 23:01:13
【问题描述】:
enum Month{JANUARY, FEBRUARY, MARCH, ...
}

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

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

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

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

【问题讨论】:

    标签: java dictionary data-structures collections enums


    【解决方案1】:

    语法没有什么不同:

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

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

    【讨论】:

      猜你喜欢
      • 2021-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多