142 votes

Java null vérifie pourquoi use == au lieu de .equals()

En Java, on me dit que lorsque l'on fait une vérification NULL, il faut utiliser == au lieu de .equals(). Quelles en sont les raisons ?

44voto

Jigar Joshi Points 116533

si vous invoquez .equals() sur null, vous obtiendrez NullPointerException

Il est donc toujours conseillé de vérifier la nullité avant d'invoquer la méthode où qu'elle s'applique

if(str!=null && str.equals("hi")){
 //str contains hi
}  

Voir aussi

30voto

user523859 Points 51

En Java 0 ou NULL sont des types simples et non des objets.

La méthode equals() n'est pas construite pour les types simples. Les types simples peuvent être associés à ==.

6voto

chin90 Points 91

Object.equals est NULL Safe, cependant sachez que si deux objets sont NULL, object.equals retournera true, alors assurez-vous de vérifier que les objets que vous comparez ne sont pas NULL (ou que les valeurs NULL sont conservées) avant d'utiliser object.equals pour la comparaison.

String firstname = null;
String lastname = null;

if(Objects.equals(firstname, lastname)){
    System.out.println("equal!");
} else {
    System.out.println("not equal!");
}

Exemple d'extrait ci-dessus renverra égal !

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