Java 投下一组<;T>;按T级
我正在使用一个方法返回按已发送类铸造的对象Java 投下一组<;T>;按T级,java,casting,Java,Casting,我正在使用一个方法返回按已发送类铸造的对象 // 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);
// 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);
}
//Student-Student=(Student)get(Student.class,19L);
学生=get(Student.class,19L);//工作正常
公共T get(类clazz,长id){
Object=hibernateTemplate.get(clazz,id);
返回原语.wrap(clazz).cast(object);
}
但是收藏的目的是什么呢?
我想调用一个方法,该方法总是将casted 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 ?
}
List List=get(Student.class);//错误
公共列表获取(类clazz){
DetachedCriteria=DetachedCriteria.forClass(clazz);
List List=hibernateTemplate.findByCriteria(标准);
返回???;//我应该从这里返回什么?
}
在最后一个方法中需要返回什么?公共列表获取(类clazz){
public <T> List<T> get(Class<T> clazz) {
DetachedCriteria criteria = DetachedCriteria.forClass(clazz);
List<T> list = (List<T>)hibernateTemplate.findByCriteria(criteria);
return list;
}
DetachedCriteria=DetachedCriteria.forClass(clazz);
列表=(列表)hibernateTemplate.findByCriteria(标准);
退货清单;
}
您不想返回列表吗?如果它解释了您更改的内容和原因,这将是一个更好的答案。此外,该强制转换是不安全的,如果启用了所有警告,编译器将告诉您。我使用的是而不是。这有什么问题吗?@M.A.Khomeni。你可以用任何名字!