2015-09-22 2 views
0

Я хочу добавить значение в свой список.ClassCastException при вводе значения в список

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

, но у меня есть исключение.

Вызванный: java.lang.ClassCastException: business.model.Book не может быть приведения к java.util.List в presentation.control.AuthorBean.createAuthor (AuthorBean.java:68) на солнце. reflect.NativeMethodAccessorImpl.invoke0 (Native Method) на sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) на sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)

Я хочу знать, как сделать мой список списка соединений и тип ввода одинаковый?

+0

В сообщении об ошибке говорится, что вы назначаете книгу, когда она ожидает список. Очевидно, что ваш this.bookBean.retrieveBook (bookId [i]) возвращает одну книгу, а не список. Измените эту функцию. – e4c5

+0

@ e4c5 thx для комментариев, но я положил (List ) в начале, так что мой fuction может вернуться как список, но он не может измениться в списке. Как я уже сказал, я хочу знать, как изменить свой тип ввода, чтобы он мог быть таким же, как моя таблица соединений. –

+0

Что ты говоришь? Вы не можете просто принудить один тип объекта к чему-то совершенно не связанному простым использованием литья '(List )', вам придется исправить это, прежде чем вы сможете где-нибудь добраться – e4c5

ответ

0

Вы можете создать новый список, прежде чем вводить свой цикл.
Внутри цикла найдите одну книгу и добавьте в существующий список.
После цикла присвойте список автору.

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

Большое вам спасибо за помощь, это работает для меня !!! я действительно действительно его оцениваю^0 ^. –

+0

Добро пожаловать !:) ..... PS: связанный с комментарием BalusC к исходному вопросу, я также удалил несвязанные части кода в свой ответ. – stg

Смежные вопросы