Java中getGenericSuperclass()方法详解
来源:互联网 发布:东京八分钟 知乎 编辑:程序博客网 时间:2024/05/29 09:55
先看以下代码:
定义一个带泛型的父类
package go.jacob.day518;public class Person <T>{}让Student继承Person类
public class Student extends Person<Student> {}
测试类
public class App {public static void main(String[] args) {Student stu = new Student();Class clazz = stu.getClass();System.out.println("Student类:" + clazz);System.out.println("Student父类:" + clazz.getSuperclass());// getGenericSuperclass()获得带有泛型的父类// Type是 Java 编程语言中所有类型的公共高级接口。它们包括原始类型、参数化类型、数组类型、类型变量和基本类型。System.out.println("Student的Generic父类:" + clazz.getGenericSuperclass());Type type=clazz.getGenericSuperclass();//ParameterizedType参数化类型,即泛型 ParameterizedType p=(ParameterizedType)type; Class c=(Class)p.getActualTypeArguments()[0];System.out.println(c);}}
运行结果:
Student类:class go.jacob.day518.StudentStudent父类:class go.jacob.day518.PersonStudent的Generic父类:go.jacob.day518.Person<go.jacob.day518.Student>class go.jacob.day518.Student
简单来说,clazz.getGenericSuperclass()可以获得带泛型的父类,这种类型在java中叫做Type
然后用ParameterizedType p=(ParameterizedType)type; 与Class c=(Class)p.getActualTypeArguments()[0];获得泛型的具体类型
阅读全文
0 0
- Java中getGenericSuperclass()方法详解
- Java中的getGenericSuperclass方法的基本用法
- java反射之getGenericSuperclass方法的用处
- Java中BaseDao方法以(ParameterizedType) getClass().getGenericSuperclass().getActualTypeArguments()[0]处理方式
- JAVA-反射-getGenericSuperclass()
- JAVA-反射-getGenericSuperclass
- JAVA反射-getGenericSuperclass()用法
- JAVA-反射-getGenericSuperclass()介绍
- JAVA-反射-GETGENERICSUPERCLASS()介绍
- JAVA-反射-getGenericSuperclass()介绍
- JAVA-反射-GETGENERICSUPERCLASS()介绍
- JAVA-反射-GETGENERICSUPERCLASS()介绍
- JAVA-反射-getGenericSuperclass()介绍
- java反射、getClass()、getSuperclass()、getGenericSuperclass()
- java中方法详解
- java 反射机制(通过getGenericSuperclass()方法获取到父类泛型的类型)
- 类方法学习五:getGenericSuperclass,getSuperclass
- 类方法学习五:getGenericSuperclass,getSuperclass
- 1.6ScrollView与ListView
- Java--file类
- 把C#程序(含多个Dll)合并成一个Exe的超简单方法
- 【Effection C++】读书笔记 条款01~条款04
- php基础--连接运算符
- Java中getGenericSuperclass()方法详解
- win10 64位+anaconda+python 2.7.12 安装xgboost
- Ubuntu16.04安装32位支持库
- 如何快速转载网页博客
- tensorflow安装(windows 64bit python2/python3共存)
- Linux命令基础35-ifconfig命令
- 单源最短路径——Dijkstra
- 学习C++ -> 向量(vector)
- autoreleasepool 原理解析