问题:如何获取泛型参数的实际类型?也就是class对象?
泛型参数因为泛型的不确定性,我们在写代码的时候,无法直接拿到该泛型的实际类型。但是在程序runtime运行时,类型是确定的。那么我们可以通过借助反射来达到我们的目的。
使用方法如下:
public class Dog<T> {
public void eat(){
ParameterizedType paraType = (ParameterizedType)getClass().getGenericSuperclass()
Class tclass = paraType.getActualTypeArguments()[0];
}
}