-2
我想從數據庫中的記錄,但得到了一個錯誤:[Ljava.lang.Object;不能被轉換到beans.Bookjava.lang.Object中不能被強制轉換爲java.lang.Class中
在DAO類有以下代碼:
List<Book> studentList=new BooksDAO().searchBook(cmbBookType.getSelectedItem().toString());
Iterator<Book> it = studentList.iterator();
while(it.hasNext()){
System.out.println("Inside While_btnSearch ");
System.out.println(it.next());
Book book = (Book)it.next();
System.out.println("Iterator converted to book ");
for(int i=0;i<studentList.size();i++){
bookTable.setValueAt(book.getCode(), i, 0);
bookTable.setValueAt(book.getName(), i, 1);
bookTable.setValueAt(book.getAuthor(), i, 2);
bookTable.setValueAt(book.getPublisher(), i, 3);
bookTable.setValueAt(book.getIsbn(), i, 4);
}
和錯誤日誌消息現在在這裏:
java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to beans.Book
at lms.SearchBook.btnSearchActionPerformed(SearchBook.java:286)
at lms.SearchBook.access$200(SearchBook.java:19)
at lms.SearchBook$4.actionPerformed(SearchBook.java:126)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
的searchBook()是作爲follows-- -
public List<Book> searchBook(String b_type){
Query qr;
Session session=SessionFact.getSessionFact().openSession();
qr=session.createQuery("select b.code,b.name,b.author,b.publisher,b.isbn from Book b where b.type=:bookType");
qr.setParameter("bookType", b_type);
System.out.println("Book Search Completed ");
List<Book> booklist=qr.list();
session.close();
return booklist;
}
請幫助我..
searchBook方法的返回類型是什麼? –
「請解決我的問題並提供合適的代碼。」 **沒有。我們不會爲你解決所有的問題。** *我們爲什麼要?*相反,我們將幫助調試你的程序並解決你的問題 - 但只有當你提供足夠的信息並且先做一些研究 - 你嘗試過,有什麼工作,什麼沒有,等等。請閱讀更多[如何問](https://stackoverflow.com/help/how-to-ask)。 – Toastrackenigma
錯誤消息意味着您有一個'Object []'(一個對象數組),您試圖將其轉換爲'beans.Book'。這是行不通的,'Object []'不是'beans.Book'。另一個問題:爲什麼你的'searchBook'方法返回一個原始的'List'而不是'List'? –
Jesper