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