Java父类取得子类传递的泛型参数Class类型 - - ITeye博客

Java代码  收藏代码 "收藏这段代码")

  1. import java.lang.reflect.ParameterizedType;  
  2. import java.lang.reflect.Type;  
  3. import org.junit.Test;  
  4. abstractclass BaseDao<T> {  
  5.     publicvoid getType() {  
  6.         //Class<E> clazz = (Class<E>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];
  7.         Type t = getClass().getGenericSuperclass();    
  8.         ParameterizedType p = (ParameterizedType) t ;    
  9.         Class<T> c = (Class<T>) p.getActualTypeArguments()[0];  
  10.         System.out.println(c.getName());    //java.lang.String
  11.     }  
  12. }  
  13. publicclass SubDao extends BaseDao<String> {  
  14.     @Test
  15.     publicvoid test1() {  
  16.         getType();  
  17.     }  
  18. }

原网址: 访问
创建于: 2021-08-24 11:20:20
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论