Verifica se null Boolean è true risulta in un'eccezione
Se non ti piacciono i controlli nulli aggiuntivi:
if (Boolean.TRUE.equals(value)) {...}
Quando hai un boolean
può essere true
o false
. Eppure quando hai un Boolean
può essere Boolean.TRUE
, Boolean.FALSE
o null
come qualsiasi altro oggetto.
Nel tuo caso particolare, il tuo Boolean
è null
e il if
istruzione attiva una conversione implicita in boolean
che produce il NullPointerException
. Potresti invece aver bisogno di:
if(bool != null && bool) { ... }
Usa Apache BooleanUtils.
(Se le massime prestazioni sono la priorità più importante nel tuo progetto, guarda una delle altre risposte per una soluzione nativa che non richiede l'inclusione di una libreria esterna.)
Non reinventare la ruota. Sfrutta ciò che è già stato creato e usa isTrue()
:
BooleanUtils.isTrue( bool );
Controlla se un Boolean
value è true, gestendo null
restituendo false
.
Se non sei limitato alle librerie che puoi "consentire" di includere, ci sono un sacco di fantastiche funzioni di supporto per tutti i tipi di casi d'uso, incluso Booleans
e Strings
. Ti suggerisco di esaminare le varie librerie Apache e vedere cosa offrono già.