您的位置:首页 > 其它

从泛型类中获取子类的泛型参数的类型

2014-08-17 08:40 323 查看
当写一个通用的泛型类,想得到实现类的泛型参数的类型时候,可以用这种

<pre name="code" class="java">class User{
	
}
class parent<T>{
	protected Class<T> clazz;
	//在这里想得到T的对象
	parent(){
		ParameterizedType parent= (ParameterizedType) this.getClass().getGenericSuperclass();//接下来想要获取参数化类型信息,需要将Type类型强转成<pre name="code" class="java"><span style="white-space:pre">													</span>//ParameterizedType类型
Type[] types=parent.getActualTypeArguments();clazz = (Class<T>) types[0];System.out.println(clazz.getSimpleName());}}class Child extends parent<User>{}public class Demo {@Testpublic void de(){new Child();}}





运行结果为User
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: