我有一个问题,我需要解决替换泛型类型参数的类的类型。这是代码:
public class EnumSetPlay {
private enum SomeEnum {ONE, TWO}
private static class Test<E extends Enum> {
private Class<E> clazz = (Class<E>) GenericTypeResolver.resolveTypeArgument(getClass(), Test.class);;
public void test() {
for (E element : EnumSet.allOf(clazz))
System.out.println(element);
}
}
public static void main(String... args) {
new Test<SomeEnum>().test();
}
}
我需要获取类类型SomeEnum。我尝试使用 spring GenericTypeResolver 类,但出现下一个错误:
错误:不兼容的类型 要求:E 找到:对象 其中 E 是一个类型变量: E 扩展了在类 Test 中声明的 Enum