133 votes

Comment vérifier si un int est un null

J'ai un objet appelé Person .

il comporte plusieurs attributs ;

int id;
String name;

je crée 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 ?

0voto

Chameera W. Ashan Points 169

En Java, il n'y a pas de valeurs nulles pour les types de données primitifs. Si vous avez besoin de vérifier la valeur Null, utilisez la classe Integer au lieu du type primitif. Vous n'avez pas à vous soucier de la différence de type de données. Java convertit les données de type primitif int en Integer. En ce qui concerne la mémoire, Integer prend plus de mémoire que int. Mais la différence d'allocation de mémoire n'est pas à prendre en compte.

Dans ce cas, vous devez utiliser Inter au lieu de int.

Essayez l'extrait ci-dessous et consultez l'exemple pour plus d'informations,

Integer id;
String name;

//Refer this example
    Integer val = 0;

`

if (val != null){
System.out.println("value is not null");
}

`

Vous pouvez également assigner Null comme ci-dessous,

val = null;

0voto

MacGregor Points 21

Le compilateur ne vous laisse pas assigner la valeur de int à null. Il ne s'exécutera pas. On peut donc dire que le problème est déjà partiellement résolu pour vous.

-1voto

evilcoder Points 1

Vous pouvez utiliser

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

en plus de l'approche régulière

person.getId() == 0

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X