【发布时间】:2017-09-21 18:30:52
【问题描述】:
我正在尝试查看我的书籍清单并归还该特定作者的所有书籍。我得到一个空列表。
public ArrayList<Book> searchByAuthor(Author author) {
ArrayList<Book> bookList = new ArrayList<>();
for (int i = 0; i < myBooks.size(); i++) {
if (myBooks.get(i).getMyAuthors().contains(author)) {
bookList.add(myBooks.get(i));
}
}
return bookList;
}
public ArrayList<Author> getMyAuthors() {
return myAuthors;
}
主要看起来像这样。
Author author = new Author("James");
System.out.println(bookCollections.searchByAuthor(author));
【问题讨论】:
-
Author的 equals 实现是什么样的? -
Author 参数是否与 getMyAuthors() 中的参数相同,还是您创建了一个新对象?
-
看起来等于没有实现。看到这个How to use contains
-
我的作者没有平等的方法。也许这就是原因
-
可能重复(无法更改我的近距离投票原因):ArrayList's custom Contains method。如需更多重复,请使用您最喜欢的搜索引擎并搜索
java list contains custom object。您可以在 google 上添加site:stackoverflow.com以将结果限制在此站点。
标签: java loops search arraylist