2017-07-29 39 views
-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; 

} 

請幫助我..

+0

searchBook方法的返回類型是什麼? –

+1

「請解決我的問題並提供合適的代碼。」 **沒有。我們不會爲你解決所有的問題。** *我們爲什麼要?*相反,我們將幫助調試你的程序並解決你的問題 - 但只有當你提供足夠的信息並且先做一些研究 - 你嘗試過,有什麼工作,什麼沒有,等等。請閱讀更多[如何問](https://stackoverflow.com/help/how-to-ask)。 – Toastrackenigma

+0

錯誤消息意味着您有一個'Object []'(一個對象數組),您試圖將其轉換爲'beans.Book'。這是行不通的,'Object []'不是'beans.Book'。另一個問題:爲什麼你的'searchBook'方法返回一個原始的'List'而不是'List '? – Jesper

回答

0

這意味着您試圖投射的對象,因爲book不是書籍實例,請在投射前嘗試調試或檢查is instanceof以確認。

相關問題