JAVA-反射-getGenericSuperclass()介绍

转载 2016年08月30日 10:30:21
package com.learn.test;
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 Person<T>{
    
}
输出结果如下:

class com.learn.test.Person
com.learn.test.Person<com.learn.test.Student>
class com.learn.test.Student





Java中的getGenericSuperclass方法的基本用法

通过getGenericSuperclass方法可以获取当前对象的直接超类的 Type 实例: package cn.tzz.lang.clazz; public class User { ...
  • tanksyg
  • tanksyg
  • 2015年11月19日 15:15
  • 16783

java 反射机制(通过getGenericSuperclass()方法获取到父类泛型的类型)

1. 在java中T.getClass() 或 T.class都是不合法的,因为T是泛型变量;      由于一个类的类型在编译期已确定,故不能在运行期得到T的实际类型; 2.获取方式是: // 获取...
  • wangxizhen123
  • wangxizhen123
  • 2017年03月14日 06:44
  • 1285

java 反射机制 (获取父类泛型的类型)getGenericSuperclass

1.首先, T.getClass() 或 T.class都是非法的,因为T是泛型变量;      由于一个类的类型在编译期已确定,故不能在运行期得到T的实际类型; 2.获取方式是: Class ...
  • jidetashuo
  • jidetashuo
  • 2016年12月09日 14:07
  • 2409

关于getGenericSuperclass方法和getActualTypeArguments()[0]方法的使用

闲话休提先看代码 public BaseCRUDService() { try { Type e = this.getClass().getGenericSupercla...
  • z5211875
  • z5211875
  • 2017年08月23日 11:10
  • 188

Java 运行时如何获取泛型参数的类型

在 Java 中对于下面最简单的泛型类 class A { public void foo() { //如何在此处获得运行时 T 的具体类型呢? } } 设想我们使用时 ne...
  • hj7jay
  • hj7jay
  • 2017年02月06日 09:24
  • 5616

Java 得到泛型中得到T.class

原文地址http://blog.csdn.net/gengv/article/details/5178055 在使用spring的JdbcTemplate实现DAO的时候,经常会...
  • z69183787
  • z69183787
  • 2017年01月10日 11:59
  • 2130

Class.getGenericSuperclass

Class.getGenericSuperclass getGenericSuperclass()方法用于获得实例类的带有泛型的直接父类,和getSuperclass()用在不同的情景。 ...
  • G1248019684
  • G1248019684
  • 2016年04月25日 16:59
  • 262

使用getGenericSuperclass()和getActualTypeArguments()将DAO做成泛型

一、getGenericSuperclass()和getActualTypeArguments()基本用法: import java.lang.reflect.ParameterizedType;...
  • apple_kg
  • apple_kg
  • 2017年05月21日 22:33
  • 127

java反射之getGenericSuperclass方法的用处

java 反射 注解
  • xkhgnc_6666
  • xkhgnc_6666
  • 2016年06月29日 10:57
  • 1393

java反射获得泛型参数GETGENERICSUPERCLASS()

public class Person { } import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type;...
  • liang5630
  • liang5630
  • 2014年10月17日 14:21
  • 13038
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA-反射-getGenericSuperclass()介绍
举报原因:
原因补充:

(最多只允许输入30个字)