使用实现interface作为参数的枚举作为EnumMap中的键

时间:2018-04-02 12:22:03

标签: java enum-map

我希望有一个扩展BaseClass的子类系列,而BaseClass又定义了一个EnumMap。根据IDE我插入此代码。它告诉我构造函数

EnumMap<B, Integer>()

未定义,B不在指定的范围内。

interface A {}
enum B implements A {hello, world}

abstract class BaseClass {
    protected EnumMap<? extends A, Integer> baseMap;
}

class ChildClass extends BaseClass {
    public ChildClass () {
        baseMap = new EnumMap<B,Integer>();
    }
}

E.g。第三行给了我麻烦。我不知道出了什么问题。

1 个答案:

答案 0 :(得分:3)

GlobalTable Get(int newTableId); 获取the constructor中的public GlobalTable Get(int newTableId) { var o = Get(x => x.NewTableId == newTableId).FirstOrDefault(); return o; }

EnumMap

我们正处于post Java 7 world

enum

我建议在声明中使用baseMap = new EnumMap<B,Integer>(B.class); - 程序baseMap = new EnumMap<>(B.class);

Map