Проверка объекта на null в Java
Обращение к полю или методу через null приводит
к ошибке времени выполнения. Перед точкой ставят проверку
!= null:
class Post {
public String title = "";
public String text = "";
}
Создадим запись и выведем заголовок только после проверки на
null:
Post post = new Post();
post.title = "News";
if (post != null) {
System.out.println(post.title);
}
В ветке else ссылка по-прежнему может быть пустой.
Туда удобно выводить запасной текст:
public class Main {
public static void main(String[] args) {
Post post = null;
if (post != null) {
System.out.println(post.title);
} else {
System.out.println("no post");
}
}
}
Проверку ставят и перед цепочкой вложенных полей,
если любое звено может быть null:
class Author {
public String name = "";
}
Создадим запись без автора и выведем имя, если ссылка не пустая:
Post post = new Post();
post.title = "News";
if (post.author != null) {
System.out.println(post.author.name);
} else {
System.out.println("unknown");
}
Переменная Employee employee равна null.
Выведите заголовок или текст "empty",
если объекта нет.
Сделайте класс Profile с методом title().
Сделайте класс Account с полем profile.
Создайте аккаунт без профиля и безопасно выведите
результат title() через проверку на null.