我正在使用一个方法返回根据发送的Class转换的对象。
// Student student = (Student) get(Student.class, 19L);
Student student = get(Student.class, 19L); // Working fine
public <T> T get(Class<T> clazz, Long id) {
Object object = hibernateTemplate.get(clazz, id);
return Primitives.wrap(clazz).cast(object);
}
但是收藏品呢? 我想从下面的方法调用一个总是返回已转换的List作为我传递的类的方法。
List<Student> list = get(Student.class); // Error
public List<?> get(Class clazz) {
DetachedCriteria criteria = DetachedCriteria.forClass(clazz);
List<?> list = hibernateTemplate.findByCriteria(criteria);
return ????; // What should I return from here ?
}
最后一种方法需要返回什么?
答案 0 :(得分:3)
public <T> List<T> get(Class<T> clazz) {
DetachedCriteria criteria = DetachedCriteria.forClass(clazz);
List<T> list = (List<T>)hibernateTemplate.findByCriteria(criteria);
return list;
}