J'ai un objet appelé Person
.
il comporte plusieurs attributs;
int id;
String name;
j'ai défini un objet personne comme Person p = new Person(1,"Joe");
.
1.) Je dois vérifier si l'objet 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 s'agir de 0
s'il n'est pas initialisé.
Si vous voulez qu'un entier puisse être nul, vous devez utiliser Integer
au lieu de int
.
Integer id;
String name;
public Integer getId() { return id; }
De plus, l'instruction if(person.equals(null))
ne peut pas être vraie, car si person
est nul, un NullPointerException
sera lancé. 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 en 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 objets ont la valeur par défaut NULL.
Chaîne (ou n'importe quel objet) ---> null
1.) Je dois vérifier si l'objet n'est pas nul; L'expression suivante est-elle correcte?
if (person == null){
}
le code ci-dessus vérifie si 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 lève une exception NullPointerException lorsque personne est null.
Une primitive int
ne peut pas être nulle. Si vous avez besoin de null, utilisez Integer
à la place.
1.) Je dois vérifier si l'objet n'est pas nul; L'expression suivante est-elle correcte?
si (personne == null) {}
OUI. Voici comment vérifier si l'objet est null
.
2.) J'ai besoin de savoir si l'ID contient un Int.
if (person.getId () == null) {}
NO Puisque id
est défini comme primitive int
, il sera initialisé par défaut avec 0
et ce 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
en tant que if(person.getId()==0){}
.
Vous devez accéder à vos attributs de classe.
Pour y accéder, vous devez faire:
person.id
person.name
où
la personne
est une instance de votre classe Person.
Cela peut être fait si les attributs sont accessibles, sinon, vous devez utiliser des setters et des getters ...