Vérification de Java si booléen est nul

Comment vérifier si un booléen est nul ou non? Donc, si je sais que “hideInNav” est nul. Comment puis-je l’empêcher de continuer à s’exécuter? Quelque chose comme ci-dessous ne semble pas fonctionner, mais pourquoi?

boolean hideInNav = parent.getProperties().get("hideInNav", false); Ssortingng hideNavigation = hideInNav != null ? hideInNav : ""; 

boolean ne peut être true ou false parce que c’est un type de données primitif (+ la valeur par défaut d’une variable boolean est false ). Vous pouvez utiliser la classe Boolean place si vous souhaitez utiliser null valeurs null . Boolean est un type de référence, c’est la raison pour laquelle vous pouvez assigner null à une “variable” booléenne. Exemple:

 Boolean testvar = null; if (testvar == null) { ...} 

Un boolean ne peut pas être null en Java.

Un Boolean peut cependant être null .

Si aucune valeur n’est atsortingbuée à un boolean (par exemple, un membre d’une classe), ce sera false par défaut.

La seule chose qui peut être null est une non primitive.

Un boolean qui ne peut contenir que TRUE ou FALSE est une primitive. Les TRUE / FALSE en mémoire sont en réalité des nombres ( 0 et 1 )

0 = FAUX

1 = VRAI

Donc, quand vous instanciez un object, il sera nul Ssortingng str; // will equal null Ssortingng str; // will equal null

Par contre, si vous installez une primitive, celle-ci sera affectée à 0 par défaut.

boolean isTrue; // will be 0

int i; // will be 0

boolean est un type primitif et ne peut donc pas être nul.

Son type en boîte, Boolean , peut être nul.

La fonction retourne probablement un Boolean par opposition à un boolean , donc assigner le résultat à une variable de type Boolean vous permettra de tester la nullité.

En Java, null s’applique uniquement aux références d’object; puisque boolean est un type primitif, il ne peut pas être atsortingbué de null .

Il est difficile d’obtenir un contexte à partir de votre exemple, mais je suppose que si hideInNav n’est pas dans l’object renvoyé par getProperties() , la valeur par défaut que vous avez indiquée sera false . Je soupçonne que c’est le bogue que vous voyez, comme false n’est pas égal à null , donc hideNavigation obtient la chaîne vide?

Vous pourriez obtenir de meilleures réponses avec un peu plus de contexte à votre exemple de code.

null est une valeur affectée à un type de référence. null est une valeur réservée, indiquant qu’une référence ne ressemble pas à une instance d’un object.

Un boolean n’est pas une instance d’un object. C’est un type primitif, comme int et float . De la même façon que: int x a la valeur 0 , boolean x a la valeur false .

La valeur par défaut des types de données réellement primitifs est null pour les variables locales.