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
où
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