gpt4 book ai didi

java - arraylist 中的 NullPointerException

转载 作者:行者123 更新时间:2023-11-29 09:41:28 25 4
gpt4 key购买 nike

我的功课遇到了一些问题,希望能在这里得到一些帮助!显然在第 17 行有一个 nullpointerexception 错误。

import java.util.*;
import java.text.*;
public class Librarian {
private ArrayList<Book> bookList = new ArrayList<Book>();

public Librarian() {
bookList = new ArrayList<Book>();
}
public ArrayList<Book> findBooksWrittenBy(ArrayList<Book> bookList, String author) {
ArrayList<Book> booksByAuthor = new ArrayList<Book>();
for(int i = 0; i < bookList.size(); i++) {
Book book = bookList.get(i);
String author1 = book.getAuthor();
if(author1.equalsIgnoreCase(author)) {
booksByAuthor.add(book);
}
if(booksByAuthor.size() != 0) {
booksByAuthor = booksByAuthor;
}else {
booksByAuthor = null;
}
}
return booksByAuthor;
}

最佳答案

将对作者的检查放在 for 循环之外。然后,检查大小并立即返回,给自己分配一个对象是多余的。

如下:

  public ArrayList<Book> findBooksWrittenBy(ArrayList<Book> bookList, String author) {
ArrayList<Book> booksByAuthor = new ArrayList<Book>();
for(int i = 0; i < bookList.size(); i++) {
Book book = bookList.get(i);
String author1 = book.getAuthor();
if(author1.equalsIgnoreCase(author)) {
booksByAuthor.add(book);
}
}
if(booksByAuthor.size() > 0) {
return booksByAuthor;
}else {
return null;
}
}

关于java - arraylist 中的 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13144727/

25 4 0