Java booleanpermite que os valores de truee falseenquanto booleana permite true, falsee null. Comecei a converter meus booleans em Booleans. Isso pode causar falhas em testes como
Boolean set = null;
...
if (set) ...
enquanto o teste
if (set != null && set) ...
parece artificial e propenso a erros.
Quando, se for o caso, é útil usar Booleans com valores nulos? Se nunca, então quais são as principais vantagens do objeto empacotado?
ATUALIZAÇÃO: Houve tantas respostas valiosas que resumi algumas delas em minha própria resposta. Eu sou, na melhor das hipóteses, um intermediário em Java, então tentei mostrar as coisas que acho úteis. Observe que a pergunta está "formulada incorretamente" (o booleano não pode "ter um valor nulo"), mas eu a deixei no caso de outras pessoas terem o mesmo equívoco.
nullse ele realmente for usado como um terceiro estado.
Booleané um objeto, enquanto a booleané um "escalar". Se uma Booleanreferência for definida como nula, isso significa que o Booleanobjeto correspondente não existe. Você não pode colocar nada dentro de algo que não existe.
Booleanvariável comonullhelp.