【发布时间】:2015-09-22 08:58:26
【问题描述】:
我想在我的列表中添加一个值。
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 不能 转换为 java.util.List 在 Presentation.control.AuthorBean.createAuthor(AuthorBean.java:68) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
我想知道,如何让我的join table list type和input type一样?
【问题讨论】:
-
嗯,错误消息说您正在分配一本书,而它需要一个列表。显然,您的 this.bookBean.retrieveBook(bookId[i]) 正在返回一本书而不是列表。更改该功能。
-
@e4c5 感谢评论,但我把 (List
) 放在开头,所以我的功能可以作为列表返回,但不能更改为列表。正如我所说,我想知道如何更改我的输入类型,以便它可以与我的连接表相同。 -
你在说什么?您不能仅通过使用强制转换“(List
)”将一种类型的对象强制为完全不相关的对象,您必须先修复它才能到达任何地方 -
@e4c5 好的,我试试另一种获取列表的方法。谢谢你的建议。
-
任何时候遇到
java.lang.*包的异常,都是基本的Java SE 问题,而不是一般的Java EE 问题。所以请不要用[java-ee]等标记问题。我修复了错误的标签并从问题中删除了不相关的代码。