有如下泛类public class SimpleRWMapper<T> {
private Class<T> a; public T mapRow(ResultSet rs, int rowNum) throws SQLException {
//a=........
return a.newInstance();
}
}
代码中泛型是T,T的class是a,我想问下如何取得这个a
private Class<T> a; public T mapRow(ResultSet rs, int rowNum) throws SQLException {
//a=........
return a.newInstance();
}
}
代码中泛型是T,T的class是a,我想问下如何取得这个a
public class SimpleRWMapper<T> {
private Class<T> a; public T mapRow(ResultSet rs, int rowNum) throws SQLException {
//a=........
return a.newInstance();
}
public Class<T> getClass() {
return a;
}
}
这样?
public class SimpleRWMapper<T> {
private Class<T> a; public T mapRow(ResultSet rs, int rowNum) throws SQLException {
//a=........
return a.getClass().newInstance();
}
}
public class SimpleRWMapper<T> {
private Class<T> a; public T mapRow(ResultSet rs, int rowNum) throws SQLException {
//a=........
Class clazz = a.getClass();
Constructor constructor = clazz.getConstructor();
return constructor.newInstance();
}
}晕哦,光看楼主的问题忘了看到newinstance()了,想要得到Class就 用对象.getClass()就得到了,要newInstance()的话还需要Constructor这样的对象呵呵
因为那所谓通用的 DAO,是在类声明时明确了泛型类型,并不是泛型参数。