Java 如果找不到要返回的对象,我应该从方法返回什么?
以下是我的方法:Java 如果找不到要返回的对象,我应该从方法返回什么?,java,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 bo
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;
}
}
}
publicbookgetbook(字符串标题,字符串作者){
对于(int i=0;i
如果在图书列表中找不到这本书,我应该返回什么?返回
null
(并记录行为)是一个相当明显的选择
注意:使用equals()
比较字符串:
if (book.getTitle().equals(title) && book.getAuthor().equals(author)) {
p.p.S.以下编写循环的方法可以说更为惯用,在某些情况下可能会快得多:
for (Book book : listOfBooks) {
返回
null
(并记录行为)是一个相当明显的选择
注意:使用equals()
比较字符串:
if (book.getTitle().equals(title) && book.getAuthor().equals(author)) {
p.p.S.以下编写循环的方法可以说更为惯用,在某些情况下可能会快得多:
for (Book book : listOfBooks) {
您可以简单地
返回null代码>如果找不到书本,或抛出自定义的异常
,如“NotFoundException”
顺便说一句,您不能使用==
来比较Java中的字符串。使用:
if (book.getTitle().equals(title) && book.getAuthor().equals(author))
而不是:
if (book.getTitle() == title && book.getAuthor() == author)
您可以简单地返回null代码>如果找不到书本,或抛出自定义的异常
,如“NotFoundException”
顺便说一句,您不能使用==
来比较Java中的字符串。使用:
if (book.getTitle().equals(title) && book.getAuthor().equals(author))
而不是:
if (book.getTitle() == title && book.getAuthor() == author)
如果未找到任何内容,则应返回null
,并在比较String
时使用equals()
方法book.getTitle().equals(title)
和book.getAuthor().equals(author)
您可以阅读如果未找到任何内容,则应返回null
,并在比较String
时使用equals()
方法book.getTitle().equals(title)
和book.getAuthor().equals(author)
您可以阅读我要么返回null
并在类的文档中写入此行为,要么抛出异常BookNotFoundException
我要么返回null
并在类的文档中写入此行为,或者抛出一个从Java.lang.Exception继承的异常BookNotFoundException返回null
或者抛出一个从Java.lang.Exception继承的BookNotFoundException
或者抛出一个从Java.lang.Exception继承的BookNotFoundException
异常Java.lang.Exception您可以返回null表示未找到数据。您可以返回null表示未找到数据。如果在列表中未找到图书对象,则可以返回null。并使用.equals()方法比较字符串
public Book getBook(String title, String author){
Book book =null;
for (int i = 0; i < listOfBooks.size(); i++){
book = listOfBooks.get(i);
if (book.getTitle().equals(title) && book.getAuthor().equals(author){
return book;
}
}
return book;
}
publicbookgetbook(字符串标题,字符串作者){
Book=null;
对于(int i=0;i
如果在列表中找不到book对象,则可以返回null。并使用.equals()方法比较字符串
public Book getBook(String title, String author){
Book book =null;
for (int i = 0; i < listOfBooks.size(); i++){
book = listOfBooks.get(i);
if (book.getTitle().equals(title) && book.getAuthor().equals(author){
return book;
}
}
return book;
}
publicbookgetbook(字符串标题,字符串作者){
Book=null;
对于(int i=0;i
return有什么问题null
!!如果找不到书,您可以返回null。returnnull有什么问题null
!!如果找不到书,您可以返回null。我读过有效的Java,返回null不是一个好习惯。相反,我们可以返回空对象,或者引发异常。这完全取决于调用者和被调用者,但我也更喜欢返回一个自定义的异常
。我在有效的Java中读过,返回null不是一个好习惯。相反,我们可以返回一个空对象,或者抛出一个异常。这完全取决于调用者和被调用者之间的约定,但我也更喜欢返回一个自定义的异常
+1,抛出一个Exception在这里可能是非常有效的替代方法,这取决于条件是否可恢复。+1,抛出异常在这里可能是非常有效的替代方法,这取决于条件是否可恢复。