将 Enum.values 与扩展 Enum 的泛型类一起使用
我正在尝试使用枚举中的所有可用值初始化泛型类。HEre是我希望它的工作方式:
public class MyClass<E extends Enum<E>> {
E[] choices;
public MyClass() {
choices = E.values();
}
但是,在 Eclipse 中不接受对 的调用,因为此方法未针对此 E 定义。E.values
可以改为使用此构造函数,但需要调用方提供以下值:
public MyClass(E[] e) {
choices = e;
}
在我发现的文档中:
Java 编程语言枚举类型比其他语言中的对应类型强大得多。枚举声明定义一个类(称为枚举类型)。枚举类主体可以包含方法和其他字段。编译器在创建枚举时会自动添加一些特殊方法。例如,它们具有一个静态值方法,该方法返回一个数组,其中包含枚举的所有值(按声明顺序排列)。
有没有办法解决这个问题?