我正在尝试从通用 Java 类中访问任意 Enum 的属性。特别是,我想访问 Enum 中值的数量以及实际值本身。
这个(显然是愚蠢的)虚拟代码说明了意图:
public class Test <E extends Enum>{
public enum TestEnum {
FIRST, SECOND, THIRD
}
public Test() {
System.out.println(E.values().length); //error - won't compile
}
public static void main(String[] args) {
Test<TestEnum> t = new Test<TestEnum>();
}
}
StackOverflow 上有类似问题的一些解决方案,但它们需要修改 Enum。重要的是,代码适用于任意Enum。
这在Java中甚至可能吗?
提前感谢您提供任何可能的建议。
〜克里斯