J'ai le code suivant:
Boolean bool = null;
try
{
if (bool)
{
//DoSomething
}
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
Pourquoi ma vérification de la variable booléenne "bool" entraîne-t-elle une exception? Ne devrait-il pas simplement sauter juste au-delà de l'instruction if quand il "voit" que ce n'est pas vrai? Lorsque je supprime l'instruction if ou que je vérifie si elle n'est PAS nulle, l'exception disparaît.
if (bool == Boolean.TRUE)évalue false sans générer d'exception. Je ne sais pas si c'était intentionnel dans le cas que je viens de trouver.
boolêtre nullOU si Booleanétait construit explicitement (et non comme référence à Boolean.TRUE). Donc pas recommandé; par opposition à if (Boolean.TRUE.equals(bool))ce qui fonctionnerait comme prévu, y compris la nullvaleur de manutention en toute sécurité .