当前位置:编程学习 > JAVA >>

谁能帮帮我。。。。一个简单的问题。。

public class DaoBase<T>  extends HibernateDaoSupport {
         protected String entityClassName = ???
}

在这个使用泛型的类中,如何得到T的类名?? --------------------编程问答-------------------- Class c = getClass();
Type t = c.getGenericSuperclass();
if (t instanceof ParameterizedType) {
Type[] p = ((ParameterizedType) t).getActualTypeArguments();
Class<T> entityClass = (Class<T>) p[0];
entityClassName = entityClass.getName();
} --------------------编程问答-------------------- Class.getTypeParameters

public TypeVariable<Class<T>>[] getTypeParameters()

Returns an array of TypeVariable objects that represent the type variables declared by the generic declaration represented by this GenericDeclaration object, in declaration order. Returns an array of length 0 if the underlying generic declaration declares no type variables --------------------编程问答--------------------
引用楼主 juningxia6 的回复:
public class DaoBase<T>  extends HibernateDaoSupport {
         protected String entityClassName = ???
}

在这个使用泛型的类中,如何得到T的类名??






public class Mm<T>{

public String entityClassName;

public String test1() {
Class c = getClass();
Type t = c.getGenericSuperclass();
if (t instanceof ParameterizedType) {
Type[] p = ((ParameterizedType) t).getActualTypeArguments();
Class<T> entityClass = (Class<T>) p[0];
entityClassName = entityClass.getName();
return entityClassName;
}
return null;

}
 
public static void main(String[] args) {
Mm<MM1> ds=new Mm<MM1>();
String s=ds.test1();
System.out.println(s);
}
}





-------------------------


打印出了null。。。。。 --------------------编程问答-------------------- 搞定了没有? --------------------编程问答--------------------
引用 4 楼 oyxm0 的回复:
搞定了没有?


没有啊。。。。。
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,