Подтвердить что ты не робот

Проверка Java, если логическое значение null

Как вы проверяете, имеет ли значение boolean значение null или нет? Поэтому, если я знаю, что "hideInNav" имеет значение null. Как остановить это от дальнейшего выполнения? Что-то вроде нижнего, похоже, не работает, но почему?

boolean hideInNav = parent.getProperties().get("hideInNav", false);
String hideNavigation = hideInNav != null ? hideInNav : "";
4b9b3361

Ответ 1

boolean может быть только true или false, потому что это примитивный тип данных (+ a boolean значение по умолчанию для переменных false). Вместо этого вы можете использовать класс boolean, если хотите использовать значения null. Boolean является ссылочным типом, поэтому вы можете назначить null логической переменной. Пример:

Boolean testvar = null;
if (testvar == null) { ...}

Ответ 2

A boolean не может быть null в java.

A boolean, однако, может быть null.

Если a boolean не назначено значение (например, член класса), по умолчанию оно будет false.

Ответ 3

В Java null применяется только к объектным ссылкам; поскольку boolean является примитивным типом, его нельзя назначить null.

Трудно получить контекст из вашего примера, но я предполагаю, что если hideInNav не находится в объекте, возвращаемом getProperties(), указанное вами значение (значение по умолчанию?) будет false. Я подозреваю, что это ошибка, которую вы видите, поскольку false не равно null, поэтому hideNavigation получает пустую строку?

Вы можете получить более качественные ответы с немного более контекстом для вашего образца кода.

Ответ 4

Единственное, что может быть null, является непримитивным.

A boolean, который может содержать только TRUE или FALSE, является примитивным. TRUE/FALSE в памяти фактически являются числами (0 и 1)

0 = FALSE

1 = TRUE

Итак, когда вы создаете экземпляр объекта, он будет равен нулю String str; // will equal null

С другой стороны, если вы инициализируете примитив, ему будет присвоено значение 0 по умолчанию.

boolean isTrue; // will be 0

int i; // will be 0

Ответ 5

boolean является примитивным типом и поэтому не может быть нулевым.

Его тип в коробке boolean может быть нулевым.

Функция, вероятно, возвращает boolean в отличие от boolean, поэтому присвоение результата переменной boolean -type позволит вам проверить недействительность.

Ответ 6

null - это значение, присвоенное ссылочному типу. null - зарезервированное значение, указывающее, что ссылка не похожа на экземпляр объекта.

A boolean не является экземпляром объекта. Это примитивный тип, например int и float. Точно так же: int x имеет значение 0, boolean x имеет значение false.

Ответ 7

Ну, кстати, как я могу проверить пустое значение логического?

Ответ 8

На самом деле примитивные типы данных по умолчанию имеют значение null для локальных переменных.