1

これが私の方法です:

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;
        }
    }
}

本が listOfBooks に見つからない場合、何を返す必要がありますか?

4

7 に答える 7

5

戻るnull(そして動作を文書化する) ことは、合理的に明らかな選択の 1 つです。

PSequals()文字列を比較するために使用します:

if (book.getTitle().equals(title) && book.getAuthor().equals(author)) {

PPS ループを記述する次の方法は、間違いなくより慣用的であり、状況によってはかなり高速になる可能性があります。

for (Book book : listOfBooks) {
于 2013-09-23T13:32:09.193 に答える
2

return null;Book が見つからない場合や、Exception'NotFoundException` のようなカスタムをスローすることができます。

==ところで、Java で文字列を比較するために使用しないでください。使用する:

if (book.getTitle().equals(title) && book.getAuthor().equals(author))

それ以外の:

if (book.getTitle() == title && book.getAuthor() == author)
于 2013-09-23T13:32:16.900 に答える
0

null何も見つからず、String使用equals()メソッドbook.getTitle().equals(title)と比較するときに戻る必要があります文字列を等号および代入演算子と比較するbook.getAuthor().equals(author)ことについて読むことができます

于 2013-09-23T13:32:54.597 に答える