Java boolean
permet des valeurs de true
et false
tout Boolean permet true
, false
et null
. J'ai commencé à convertir mes boolean
s en Boolean
s. Cela peut provoquer des plantages dans des tests tels que
Boolean set = null;
...
if (set) ...
tandis que le test
if (set != null && set) ...
semble artificiel et sujet aux erreurs.
Quand, le cas échéant, est-il utile d'utiliser Boolean
s avec des valeurs nulles? Si jamais, quels sont les principaux avantages de l'objet enveloppé?
MISE À JOUR: Il y a eu tellement de réponses précieuses que j'en ai résumé certaines dans ma propre réponse. Je suis au mieux un intermédiaire en Java donc j'ai essayé de montrer les choses que je trouve utiles. Notez que la question est "mal formulée" (le booléen ne peut pas "avoir une valeur nulle") mais je l'ai laissée au cas où d'autres auraient la même idée fausse
null
s'il est vraiment utilisé comme 3e état.
Boolean
est un objet, tandis que a boolean
est un "scalaire". Si une Boolean
référence est définie sur null, cela signifie que l' Boolean
objet correspondant n'existe pas. Vous ne pouvez rien placer dans quelque chose qui n'existe pas.
Boolean
variable surnull
aide.