Java父类取得子类传递的泛型参数Class类型

标签: java泛型class
351人阅读 评论(0) 收藏 举报
分类:
import java.lang.reflect.ParameterizedType;  
import java.lang.reflect.Type;  

import org.junit.Test;  

abstract class BaseDao<T> {  
    public void getType() {  
        //Class<E> clazz = (Class<E>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];  
        Type t = getClass().getGenericSuperclass();    
        ParameterizedType p = (ParameterizedType) t ;    
        Class<T> c = (Class<T>) p.getActualTypeArguments()[0];  
        System.out.println(c.getName());    //java.lang.String  
    }  
}  

public class SubDao extends BaseDao<String> {  
    @Test  
    public void test1() {  
        getType();  
    }  
}  
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    编程技术学习交流群 :154514123
    微信
    个人资料
    • 访问:464478次
    • 积分:7272
    • 等级:
    • 排名:第3032名
    • 原创:303篇
    • 转载:34篇
    • 译文:2篇
    • 评论:93条
    最新评论