Когда следует использовать нулевые значения логического значения?

Java booleanдопускает значения trueи false, тогда как Boolean допускает true, falseи ноль. Я начал преобразовывать свои booleanв Booleans. Это может вызвать сбои в таких тестах, как

Boolean set = null;
...
if (set) ...

, в то время как тест

if (set != null && set) ...

кажется надуманным и подверженным ошибкам.

Когда полезно использовать Booleanс нулевыми значениями? Если никогда, то каковы основные преимущества обернутого объекта?

ОБНОВЛЕНИЕ: Было так много ценных ответов, что я резюмировал некоторые из них в своем собственном ответе. Я в лучшем случае являюсь посредником в Java, поэтому я попытался показать то, что считаю полезным. Обратите внимание, что вопрос «неправильно сформулирован» (логическое значение не может «иметь нулевое значение»), но я оставил его на случай, если у других возникнет такое же заблуждение

157
задан peter.murray.rust 26 June 2012 в 18:12
поделиться