泛型子类获取父类的模板类型方法

小灰灰 2022-08-05 15:23 257阅读 0赞

package com.zjh.test;

import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;

import org.junit.Test;

abstract class BaseDao {
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 {
@Test
public void test1(){
getType();
}
}

发表评论

表情:
评论列表 (有 0 条评论,257人围观)

还没有评论,来说两句吧...

相关阅读