参数化泛型getGenericSuperclass

问题:如何获取泛型参数的实际类型?也就是class对象?

泛型参数因为泛型的不确定性,我们在写代码的时候,无法直接拿到该泛型的实际类型。但是在程序runtime运行时,类型是确定的。那么我们可以通过借助反射来达到我们的目的。

使用方法如下:

public class Dog<T> {

    public void eat(){

        ParameterizedType paraType = (ParameterizedType)getClass().getGenericSuperclass()

        Class tclass = paraType.getActualTypeArguments()[0];

}

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容