我有一个问题,我需要解决类型的类替换泛型类型参数。下面是代码:如何从泛型中获取类的类型信息?
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。 我试图用簧GenericTypeResolver类,但我有一个错误:
error: incompatible types required: E found: Object where E is a type-variable: E extends Enum declared in class Test
它通常是更好地与输入'>' –
2012-04-19 14:06:24
我修复,但现在我有NullPointerException,因为clazz是null。 – user1289877 2012-04-19 14:29:45