这可能吗?我不认为这是,但我只想确定。 这就是我的尝试。
private Map enumToMap(Enum<?> e){
EnumMap map = new EnumMap<e, String>(e.getClass()); // error can't resolve constructor for EnumMap
for (History h : History.values()) {
map.put(h, h.answer());
}
return map;
}
答案 0 :(得分:2)
我怀疑History
是enum
。否则,您将遇到绑定类型错误。
如果History
类型是enum
,则问题的根位于public EnumMap (Class< K > keyType)构造函数中,因为根据javadoc,它:
使用指定的键类型创建一个空的枚举映射。
在您的情况下,您要定义密钥类型为History
,同时您将Enum.class
传递给构造函数。
有效的定义是:
new EnumMap<History, String>(History.class);