Java booleanпозволяет значения trueи в falseто время как Boolean позволяет true, falseи null. Я начал конвертировать мои booleans в Booleans. Это может вызвать сбои в таких тестах, как
Boolean set = null;
...
if (set) ...
пока тест
if (set != null && set) ...
кажется надуманным и подверженным ошибкам.
Когда, если вообще, полезно ли использовать Booleans с нулевыми значениями? Если никогда, то каковы основные преимущества обернутого объекта?
ОБНОВЛЕНИЕ: было так много ценных ответов, что я суммировал некоторые из них в своем собственном ответе. Я в лучшем случае являюсь промежуточным звеном в Java, поэтому я попытался показать то, что мне показалось полезным. Обратите внимание, что вопрос «неправильно сформулирован» (логическое значение не может иметь «нулевое значение»), но я оставил его на тот случай, если у других такое же заблуждение
nullесли он действительно используется в качестве третьего состояния.
Boolean- это объект, а А boolean- это «скаляр». Если Booleanссылка имеет значение null, это означает, что соответствующий Booleanобъект не существует. Вы не можете поместить что-то внутри чего-то, что не существует.
Booleanпеременной дляnullподсказок.