Sobes.tech
Назад к вопросам
Middle
4

Где в методе getTagsOfAuthorsBooks может вылететь NullPointerException?

Компании, где спрашивали
экзон

Ответ от нейросети

sobes.tech AI

NullPointerException в методе getTagsOfAuthorsBooks может возникнуть в следующих местах:

  1. Если объект автора (author) равен null, и происходит попытка обращения к его методам или полям.
  2. Если список книг автора (author.getBooks()) равен null или содержит null элементы.
  3. Если у книги (book) равен null или у книги отсутствует список тегов (book.getTags() равен null).
  4. Если коллекции, которые используются для сбора тегов, не инициализированы.

Пример потенциально опасного кода:

List<Tag> getTagsOfAuthorsBooks(Author author) {
    List<Tag> tags = new ArrayList<>();
    for (Book book : author.getBooks()) { // author или getBooks() может быть null
        tags.addAll(book.getTags()); // book или getTags() может быть null
    }
    return tags;
}

Чтобы избежать NPE, нужно добавить проверки на null или использовать Optional, либо предусмотреть инициализацию коллекций по умолчанию.