Java booleanconsente valori di truee falsementre booleano consente true, falsee null. Ho iniziato a convertire le mie booleans in Booleans. Ciò può causare arresti anomali in test come
Boolean set = null;
...
if (set) ...
mentre il test
if (set != null && set) ...
sembra inventato e soggetto a errori.
Quando, se mai, è utile usare Booleans con valori null? Se mai, quali sono i principali vantaggi dell'oggetto avvolto?
AGGIORNAMENTO: Ci sono state molte risposte preziose che ho riassunto alcune di queste nella mia risposta. Nella migliore delle ipotesi sono un intermediario in Java, quindi ho cercato di mostrare ciò che trovo utile. Nota che la domanda è "formulata in modo errato" (il valore booleano non può "avere un valore nullo") ma l'ho lasciato nel caso in cui altri abbiano lo stesso malinteso
nullse fosse davvero usato come terzo stato.
Booleanè un oggetto, mentre a booleanè uno "scalare". Se un Booleanriferimento è impostato su null significa che l' Booleanoggetto corrispondente non esiste. Non puoi mettere nulla dentro qualcosa che non esiste.
Booleanvariabilenullaiuta.