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<實體類>的方法
如果錯誤,望各位不吝指教。