Проверка объекта-обертки Boolean на null
На этом этапе мы рассмотрим, как работать с объектами-обертками Boolean в Java, с особым вниманием уделив проверке на то, является ли объект Boolean равным null. В отличие от примитивного типа boolean, который может быть только true или false, класс-обертка Boolean может также иметь значение null. Это является распространенной причиной возникновения NullPointerException, если не обрабатывать это осторожно.
Создадим простую Java-программу, чтобы продемонстрировать это.
-
Откройте каталог ~/project в проводнике файлов слева в WebIDE.
-
Щелкните правой кнопкой мыши в пустом пространстве внутри каталога ~/project и выберите "Новый файл".
-
Назовите новый файл BooleanCheck.java и нажмите Enter.
-
Откройте файл BooleanCheck.java в редакторе кода.
-
Скопируйте и вставьте следующий Java-код в редактор:
public class BooleanCheck {
public static void main(String[] args) {
Boolean myBoolean = null;
// Попытка напрямую использовать null-значение Boolean в условном операторе
// вызовет NullPointerException
// if (myBoolean) {
// System.out.println("This will not be printed if myBoolean is null.");
// }
// Правильный способ проверить, является ли объект-обертка Boolean равным null
if (myBoolean == null) {
System.out.println("myBoolean is null.");
} else {
System.out.println("myBoolean is not null.");
}
// Другой способ безопасно проверить булево значение
if (Boolean.TRUE.equals(myBoolean)) {
System.out.println("myBoolean is true.");
} else if (Boolean.FALSE.equals(myBoolean)) {
System.out.println("myBoolean is false.");
} else {
System.out.println("myBoolean is null (checked using equals).");
}
}
}
-
Сохраните файл, нажав Ctrl + S (или Cmd + S на Mac).
-
Теперь скомпилируем Java-программу. Откройте терминал внизу WebIDE. Убедитесь, что вы находитесь в каталоге ~/project. Если нет, введите cd ~/project и нажмите Enter.
-
Скомпилируйте код с помощью команды javac:
javac BooleanCheck.java
Если нет ошибок, команда завершится без вывода. Это означает, что файл BooleanCheck.class был создан в каталоге ~/project.
-
Запустите скомпилированную Java-программу с помощью команды java:
java BooleanCheck
-
В терминале вы должны увидеть следующий вывод:
myBoolean is null.
myBoolean is null (checked using equals).
Этот вывод подтверждает, что наш код правильно определил объект Boolean как null с использованием проверки == null и шаблона Boolean.TRUE.equals() / Boolean.FALSE.equals(). Закомментированный код показывает, что произойдет, если вы попытаетесь напрямую использовать null-значение Boolean в условном операторе if, что приведет к NullPointerException.
Понимание того, как безопасно обрабатывать null-значения объектов Boolean, является важным аспектом избежания распространенных ошибок в Java-программировании.