如何在Java中将一个列表附加到另一个列表

13
这里有我的两个列表,我想将books列表的值添加到book2列表中以更正输出。
  List<Book>books=null;
  List<Book> books2=null;
  String searchParam=null;
  searchParam=txtSearch.getText();

  if(category.isSelected()){

    List<Category> categorys =null; 

    categorys=ServiceFactory.getCategoryServiceImpl().findAllByName(searchParam);

    for(Category i:categorys){                          
    books=ServiceFactory.getBookServiceImpl().findAllBookByCategoryId(i.getId());
    System.out.println(i.getName()+books+"hi..");

在这里我们需要将一个列表追加或添加到另一个列表中。
    if(books!=null){
    books2=books.add(books2);
    }
    }
    }

    for(Book book:books){
    txtSearchResult.append(book.getName()+"\n");
    }

错误提示

The method add(Book) in the type List<Book> is not applicable for the arguments (List<Book>)

如果你知道答案,请在这里分享。
1个回答

20
在使用Java编程时,应该参考你正在使用的类或接口的Javadoc文档来回答这类问题。 你可以使用:
books2.addAll(books);

books中的所有条目添加到books2中。

根据上面链接的Javadoc:

boolean addAll(Collection<? extends E> c)

将指定集合中的所有元素按照其迭代器返回它们的顺序(可选操作)追加到此列表的末尾。如果在操作正在进行时修改了指定的集合,则此操作的行为是未定义的。(请注意,如果指定的集合是这个列表,并且它不为空,这将发生。)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接