我正在尝试编写一个通用方法来从包含位掩码的整数初始化 EnumSet 值。我收到一个我不明白的编译器错误。这是我的代码:
private <E extends Enum<E>> void setEnumSet( EnumSet<E> es, int iEnum ) {
es.clear();
for (E e : E.values()) {
if (0 != (iEnum & (1<<e.ordinal()))) {
es.add(e);
}
}
}
编译器错误:
1>Javac...
1>.\wdqapi.java:266: error: cannot find symbol
1> for (E e : E.values()) {
1> ^
1> symbol: method values()
1> location: class Enum<E>
1> where E is a type-variable:
1> E extends Enum<E> declared in method <E>_setEnumSet(EnumSet<E>,int)
是否有一些特殊的语法可以访问 E 的 values() 方法?(我是 Java 菜鸟。)有人可以帮我解决这个编译器错误吗?谢谢。