泛型子类获取父类的模板类型方法
2015-03-05 10:59
330 查看
package com.zjh.test;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import org.junit.Test;
abstract class BaseDao <T>{
public void getType(){
//获取父类类型
Type t = getClass().getGenericSuperclass();
//强制转换为泛型类型
ParameterizedType p = (ParameterizedType) t ;
//获取泛型中类型变量
System.out.println(p.getActualTypeArguments()[0]);
System.out.println(p.getOwnerType());
//获取申明的原始类型,即擦除后的类型
System.out.println(p.getRawType());
}
}
public class SubDao extends BaseDao<String> {
@Test
public void test1(){
getType();
}
}
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import org.junit.Test;
abstract class BaseDao <T>{
public void getType(){
//获取父类类型
Type t = getClass().getGenericSuperclass();
//强制转换为泛型类型
ParameterizedType p = (ParameterizedType) t ;
//获取泛型中类型变量
System.out.println(p.getActualTypeArguments()[0]);
System.out.println(p.getOwnerType());
//获取申明的原始类型,即擦除后的类型
System.out.println(p.getRawType());
}
}
public class SubDao extends BaseDao<String> {
@Test
public void test1(){
getType();
}
}
相关文章推荐
- java 反射机制(通过getGenericSuperclass()方法获取到父类泛型的类型)
- 一、获取子类DAO继承父类DAO的泛型参数类型的Class对象
- 思想:java中,父类的方法中传入的形参的数据类型是泛型,子类的方法的形参想只要一种确定的数据类型,子类该如何做呢?
- 通过父类的泛型获取子类的类型Class.getGenericSuperclass
- 获取范型类的子类的实际类型的方法
- Java获取泛型参数的类型的方法
- Gson通过借助TypeToken获取泛型参数的类型的方法
- Gson通过借助TypeToken获取泛型参数的类型的方法
- 获取方法中泛型的具体类型
- 获取父类的泛型类型
- 泛型获取类型参数方法
- Android:Gson通过借助TypeToken获取泛型参数的类型的方法
- 得到父类方法中泛型的类型(工具类)
- Java反射通过class获取父类泛型类型
- Java子类中获取继承时传入泛型的类型
- 在父类中反射获取泛型类型
- 黑马程序员--Java基础加强--14.利用反射操作泛型III【解析关于泛型类型的细节信息的获取方法】【Method与泛型相关的方法】【个人总结】
- 父类通过反射获得子类的class泛型类型
- Gson通过借助TypeToken获取泛型参数的类型的方法(转)
- 黑马程序员——通过反射获取方法中泛型参数的指定类型