如果找不到要返回的对象,我应该从方法返回什么?

Mar*_*jus 1 java

这是我的方法:

public Book getBook(String title, String author){
    for (int i = 0; i < listOfBooks.size(); i++){
        Book book = listOfBooks.get(i);
        if (book.getTitle() == title && book.getAuthor() == author){
            return book;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果在listOfBooks中找不到该书,我应该返回什么?

NPE*_*NPE 5

返回null(并记录行为)是一个相当明显的选择.

PS equals()用于比较字符串:

if (book.getTitle().equals(title) && book.getAuthor().equals(author)) {
Run Code Online (Sandbox Code Playgroud)

PPS以下编写循环的方法可以说更具惯用性,在某些情况下可能会更快:

for (Book book : listOfBooks) {
Run Code Online (Sandbox Code Playgroud)