您的位置:首页 > 编程语言 > Java开发

JAVA 通过反射获取泛型的类型

2016-12-24 14:39 435 查看
获取属性的泛型类型

Type t = Test.class.getDeclaredField("list").getGenericType();  

        if (ParameterizedType.class.isAssignableFrom(t.getClass())) {              

            for (Type t1:((ParameterizedType)t).getActualTypeArguments()) {          

                System.out.print(t1 + ",");          

            }          

            System.out.println();          

        }   

获取带泛型父类的泛型类型

System.out.println("======getSuperclass======:");      

System.out.println(Test.class.getSuperclass().getName());     

System.out.println("======getGenericSuperclass======:"); 

    

Type t = Test.class.getGenericSuperclass();      

System.out.println(t); 

      

if (ParameterizedType.class.isAssignableFrom(t.getClass())) {

    

   System.out.print("----------->getActualTypeArguments:");       

   for (Type t1:((ParameterizedType)t).getActualTypeArguments()) {       

        System.out.print(t1 + ",");       

   }       

   System.out.println();       

}    

学习笔记(链接:http://lorry1113.iteye.com/blog/973903)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 反射 泛型