Проверка объекта-обертки 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-программировании.