Tengo el siguiente código:
Boolean bool = null;
try
{
if (bool)
{
//DoSomething
}
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
¿Por qué mi chequeo en la variable booleana "bool" resulta en una excepción? ¿No debería simplemente saltar más allá de la declaración if cuando "ve" que no es cierto? Cuando elimino la declaración if o verifico si NO es nula, la excepción desaparece.
if (bool == Boolean.TRUE)evalúa falso sin generar una excepción. No estoy seguro si esto fue intencional en el caso que acabo de encontrar.
boolser nullOR si Booleanse construyera explícitamente (y no como referencia Boolean.TRUE). Entonces no recomendado; a diferencia de if (Boolean.TRUE.equals(bool))lo que funcionaría como se esperaba, incluido el manejo seguro del nullvalor.