将值输入列表时出现 ClassCastException

ClassCastException when inputing value to list

我想在我的列表中添加一个值。

    for (int i=0; i<bookId.length;i++) {
        this.author.setBookList((List<Book>) this.bookBean.retrieveBook(bookId[i]));
    }       

但是我有一个例外。

Caused by: java.lang.ClassCastException: business.model.Book cannot be cast to java.util.List at presentation.control.AuthorBean.createAuthor(AuthorBean.java:68) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

我想知道,如何让我的加入 table 列表类型和输入类型相同?

您可以在进入循环之前创建一个新列表。
在循环中检索单本书并将其添加 到现有列表。
循环后,将列表赋值给作者。

    // ...
    List<Book> list = new ArrayList<>();
    for (int i=0; i<bookId.length;i++) {
        list.add(this.bookBean.retrieveBook(bookId[i]));
    }       
    author.setBookList(list);        
    // ...