我使用this method来检索我的通用类型,没问题...... 到现在为止
现在,我有这种结构:
public class Toto<T> extends OtherOne<X,Y,Z> {...}
当我使用
时
((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0];
它返回我的OtherOne类的Class<X>
类型,而不是Class<T>
!
有没有人遇到过这个问题?无论我尝试什么都不起作用T_T,我不想使用this solution将类作为我的构造函数的参数
答案 0 :(得分:-1)
为了了解T
是什么,必须在子类中捕获它。例如:
public class StringToto extends Toto<String> {}
Class<?> t = (Class<?>)((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0];
这是因为类型只有在类型定义的一部分时才能在运行时检索。