Java booleanpermite que los valores de truey falsemientras booleana permite true, falsey null. He comenzado a convertir mi booleans a Booleans. Esto puede causar bloqueos en pruebas como
Boolean set = null;
...
if (set) ...
mientras la prueba
if (set != null && set) ...
Parece artificial y propenso a errores.
¿Cuándo, si alguna vez, es útil usar Booleans con valores nulos? Si nunca, ¿cuáles son las principales ventajas del objeto envuelto?
ACTUALIZACIÓN: Ha habido tantas respuestas valiosas que he resumido algunas de ellas en mi propia respuesta. En el mejor de los casos, soy un intermediario en Java, así que he intentado mostrar las cosas que encuentro útiles. Tenga en cuenta que la pregunta está "redactada incorrectamente" (el booleano no puede "tener un valor nulo") pero lo he dejado en caso de que otros tengan el mismo concepto erróneo
nullsi realmente se usa como un tercer estado.
Booleanes un objeto, mientras que a booleanes un "escalar". Si una Booleanreferencia se establece en nulo, eso significa que el Booleanobjeto correspondiente no existe. No puedes colocar nada dentro de algo que no existe.
Booleanvariables paranullayudar.