JAVA-反射-GETGENERICSUPERCLASS()介绍
2016-04-30 14:03
609 查看
public class Person<T> { } import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; public class Student extends Person<Student> { public static void main(String[] args) { Student st=new Student(); Class clazz=st.getClass(); //getSuperclass()获得该类的父类 System.out.println(clazz.getSuperclass()); //getGenericSuperclass()获得带有泛型的父类 //Type是 Java 编程语言中所有类型的公共高级接口。它们包括原始类型、参数化类型、数组类型、类型变量和基本类型。 Type type=clazz.getGenericSuperclass(); System.out.println(type); //ParameterizedType参数化类型,即泛型 ParameterizedType p=(ParameterizedType)type; //getActualTypeArguments获取参数化类型的数组,泛型可能有多个 Class c=(Class) p.getActualTypeArguments()[0]; System.out.println(c); } }
打印结果:
class com.test.Person
com.test.Person<com.test.Student>
class com.test.Student
相关文章推荐
- Java反射---getGenericSuperclass和ParameterizedType参数化类型的获取
- ParameterizedType,getClass(),getGenericSuperclass()
- hibernate 中的通用接口BaseDao 和BaseDaoImpl的制作 ,泛型制作
- Instanceof和泛型
- ParameterizedType应用,利用java反射获取参数化类型的class实例
- Caused by: java.lang.ClassCastException: java.lang.Class cannot be cast to java.lang.reflect.Paramet
- Type类型详解
- JAVA反射-getGenericSuperclass()用法
- ParameterizedType获取java泛型参数类型
- Java基础 - 欧几里得法求最大公约数
- Java重载(OverLoad)的理解
- Java的对象是采用值传递还是引用传递?
- 20145106 java 实验四
- java基础算法之随机数的产生
- java爬虫 京东商品页 简单案例
- javap的理解
- 工作流Activiti的学习总结(四)Spring和Activiti的整合配置讲解
- java之递推求解一维多项式
- 百问百答之Java容器篇
- 深入理解ArrayList