Comment vérifier si un int est un null

J’ai un object appelé Person .

il y a plusieurs atsortingbuts dedans;

 int id; Ssortingng name; 

Je mets un object personnel comme Person p = new Person(1,"Joe"); .

1.) J’ai besoin de vérifier si l’object n’est pas nul; L’expression suivante est-elle correcte?

 if (person == null){ } Or if(person.equals(null)) 

2.) J’ai besoin de savoir si l’ID contient un Int.

 if(person.getId()==null){} 

Mais java ne le permet pas. Comment puis-je faire cette vérification?

Un int n’est pas nul, il peut être 0 s’il n’est pas initialisé.

Si vous voulez qu’un nombre entier puisse être nul, vous devez utiliser Integer au lieu de int .

 Integer id; Ssortingng name; public Integer getId() { return id; } 

Outre l’instruction if(person.equals(null)) ne peut pas être vraie, car si la person est null, alors une NullPointerException sera lancée. Donc, la bonne expression est if (person == null)

les primitives n’ont pas de valeur nulle. la valeur par défaut pour un int est 0.

 if(person.getId()==0){} 

Valeurs par défaut pour les primitives dans java:

 Data Type Default Value (for fields) byte 0 short 0 int 0 long 0L float 0.0f double 0.0d char '\u0000' boolean false 

Les objects ont la valeur null par défaut.

Ssortingng (ou n’importe quel object) —> null

1.) J’ai besoin de vérifier si l’object n’est pas nul; L’expression suivante est-elle correcte?

 if (person == null){ } 

le code ci-dessus vérifie si la personne est nulle. Tu as besoin de faire

 if (person != null){ // checks if person is not null } 

et

 if(person.equals(null)) 

Le code ci-dessus lancerait NullPointerException lorsque personne est nul.

Une primitive int ne peut pas être nulle. Si vous avez besoin de null, utilisez plutôt Integer .

1.) J’ai besoin de vérifier si l’object n’est pas nul; L’expression suivante est-elle correcte?

if (person == null) {}

OUI . Voici comment vérifier si l’object est null .

2.) J’ai besoin de savoir si l’ID contient un Int.

if (person.getId () == null) {}

NON Comme id est défini comme primitive int , il sera initialisé par défaut avec 0 et il ne sera jamais null . Il n’est pas nécessaire de vérifier les types primitifs, s’ils sont nuls. Ils ne seront jamais nuls. Si vous le souhaitez, vous pouvez comparer la valeur par défaut à 0 if(person.getId()==0){} .

Vous devez accéder à vos atsortingbuts de classe.

Pour y accéder, il faut faire:

 person.id person.name 

la personne

est une instance de votre classe Person.

Cela peut être fait si les atsortingbuts sont accessibles, sinon, vous devez utiliser des seters et des getters …

Vous pouvez utiliser

 if (person == null || Ssortingng.valueOf(person.getId() == null)) 

en plus de l’approche régulière

 person.getId() == 0