Object类型的强制转换为新的List类型,一开始对我来说一脸懵逼,在网上找了好多资料,都不太行。
因为使用hibernate的多表查询,所以需要将Object类型进行强制转新的List<实体类>
后来发现是自己使用hibernateTemplate模板的原因,执行完hql语句封装的都是对象。导致转换失败,毕竟对象不是数组,不能对象强制转成另一个对象
改完自己错误的方法之后,执行完sql语句出来的Object类型的数组,就用了以下方法强转成功了。
//多表查询
List<Object[]> stuI = tchQuestionService.queryStuInfoByState(TchName);//调用查询的方法
System.out.println(stuI.size()+"...测试Object集合的长度");
appList = new ArrayList<ApprovalStu>();//新建新的实体类List集合
ApprovalStu app; //声明一个对象存放数据
for(int i = 0; i < stuI.size();i++){
app = new ApprovalStu();
//新建一个Object[]类来装执行后的Object数组
Object[] object = (Object[])stuI.get(i);
int id = (Integer) object[0];
String score = (String )object[1];
String stuNo = (String) object[2];
String stuClass = (String) object[3];
String stuName = (String) object[4];
String subject = (String) object[5];
String title = (String)object[6];
String fileName = (String)object[7];
// 重新封装在一个javabean里面
app.setId(id);
app.setScore(score);
app.setStuNo(stuNo);
app.setStuClass(stuClass);
app.setStuName(stuName);
app.setStuSubject(subject);
app.setTitle(title);
app.setFileName(fileName);
appList.add(app);
}
以上就是个人对Object数组重新组合成一个新的List<实体类>的方法
如果错误,望各位不吝指教。