为什么我有NullPointerException?

时间:2016-05-14 22:55:22

标签: java arrays class for-loop

因此,方法是查看图书馆中是否存在图书:

public boolean exists(Book l) {                      
    for (int i = 0; i < index; i++) {
        if (books[i].equals(l)) {
            return true;
        }
    }
    return false;
}

输出:

Exception in thread "main" java.lang.NullPointerException
at Library.exists(Library.java:13)

我在这里做错了什么?

所以我得到了答案,谢谢你们:)所以问题是我没有在图书馆里面添加书籍!添加书籍的方法:

public void addBook(Book l) {
    if (l == null) {
        System.out.println("Book is unini..!");
        return;
    }

    if (exists(l)) {
        System.out.println("Book exists!");
        return;
    }

    if (books.length == index) {
        Book[] temp = new Book[books.length + 3];
        for(int i=0;i<books.length;i++){
            temp[i]=books[i];
        }
        books=temp;
    }
    books[index++] = l;

}

1 个答案:

答案 0 :(得分:0)

三种可能性。 books为null或books [i]为null。 如果equals中有错误或者l为null,您也会在StackTrace中看到它。