Java 将值输入列表时发生ClassCastException

Java 将值输入列表时发生ClassCastException,java,classcastexception,Java,Classcastexception,我想在列表中添加一个值 for (int i=0; i<bookId.length;i++) { this.author.setBookList((List<Book>) this.bookBean.retrieveBook(bookId[i])); } for(int i=0;i您可以在进入循环之前创建一个新列表。 在循环中检索单个图书并将其添加到现有列表中。 循环完成后,将列表分配给作者 // ... List

我想在列表中添加一个值

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

for(int i=0;i您可以在进入循环之前创建一个新列表。
在循环中检索单个图书并将其添加到现有列表中。
循环完成后,将列表分配给作者

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

对于(int i=0;iWell),错误消息说您正在订阅一本书,而它需要一个列表。很明显,您的this.bookBean.retrieveBook(bookId[i])返回的是一本书,而不是一个列表。更改该函数。@e4c5 thx用于注释,但我放置了(列表)在Begging,我的功能可以作为列表返回,但不能更改为列表。正如我所说,我想知道如何更改输入类型,使其与联接表相同。你在说什么?你不能仅仅通过使用cast(列表)将一种类型的对象强制为完全无关的对象“你必须先解决这个问题,然后才能anywhere@e4c5好的,我将尝试另一种方法来获取建议的list.Thx。每当您遇到
java.lang.*
包异常时,您都会遇到基本的java SE问题,而不是一般的java EE问题。因此请不要用
[java EE]标记问题
诸如此类。我修复了错误的标签,并从问题中删除了不相关的代码。非常感谢您的帮助,这对我很有用!!!我真的非常感谢^0^。不客气!:)……PS:关于BalusC对原始问题的评论,我也删除了答案中不相关的代码部分。