谁能帮帮我。。。。一个简单的问题。。
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 --------------------编程问答--------------------
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。。。。。 --------------------编程问答-------------------- 搞定了没有? --------------------编程问答--------------------
没有啊。。。。。
补充:Java , Java EE