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