`
happyqing
  • 浏览: 3151359 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

    博客分类:
  • java
阅读更多

 

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();
	}
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics