【发布时间】:2017-01-18 21:36:14
【问题描述】:
我有以下接口和类定义。
interface A
{
}
class B
{
public static enum C implements A
{
c1, c2, c3;
}
public static enum D implements A
{
d1, d2, d3;
}
public static enum E implements A
{
e1, e2, e3;
}
}
现在我有一个类,我在其中声明一个 Map 并将枚举分配为键并设置一个值。
class Test
{
private Map<C, String> myMap;
public void assignVal()
{
myMap = new EnumMap<C, String>(C.class);
myMap.put(C.c1, String.valueOf(1));
}
}
问题:如您所见,myMap 与枚举 C 相关联。我想创建 myMap 的通用版本,因此我可以在 B 类中分配任何枚举值。
我已经浏览了 stackoverflow 帖子: How to implement enum with generics?
【问题讨论】:
-
为什么不直接使用
Map<A, String>和new HashMap<>()? -
@Andreas 也许
A有其他实现。
标签: java