Maison  >  Article  >  Java  >  Quelle est la différence entre l'opérateur "==" et la méthode égale en Java ?

Quelle est la différence entre l'opérateur "==" et la méthode égale en Java ?

王林
王林avant
2020-07-04 16:37:302599parcourir

Quelle est la différence entre l'opérateur

La différence est la suivante :

(Apprentissage recommandé : programme d'introduction à Java) L'opérateur

== est spécialement utilisé pour comparer deux Si les valeurs de deux variables sont les mêmes, c'est-à-dire utilisé pour comparer si les valeurs stockées dans la mémoire correspondant aux variables sont les mêmes Pour comparer deux types de données de base ou si deux références. les variables sont égales, vous ne pouvez utiliser que l'opérateur ==.

La méthode égale est utilisée pour comparer si le contenu de deux objets indépendants est le même, tout comme comparer si deux livres sont identiques. Les deux objets qu'elle compare sont indépendants.

Exemple :

String a = new String("AA");
String b = new String("AA");
System.out.println(a==b);
System.out.println(a.equals(b));

Deux nouvelles instructions créent deux objets, puis utilisent les deux variables a et b pour pointer respectivement vers l'un des objets. Ce sont deux objets différents. of sont différents, c'est-à-dire que les valeurs stockées dans a et b sont différentes, donc l'expression a==b retournera false et le contenu des deux objets est le même, donc a, equals(b) renvoie true .

(Tutoriel vidéo recommandé : Tutoriel vidéo Java )

Remarque : les comparaisons de chaînes utilisent essentiellement la méthode égale.

Si une classe n'a pas sa propre méthode égale définie, alors elle héritera de la méthode égale de la classe Object. Le code d'implémentation de la classe Object est le suivant :

boolean equals(Object o)
{
return this==o;
}
Cela signifie que si une classe ne le fait pas. La méthode égale auto-définie, la méthode égale par défaut, équivaut à utiliser l'opérateur ==, c'est-à-dire comparer les objets pointés par les deux variables au même objet. Utilisez égal et == pour le moment.

obtiendra le même résultat ! ! Si vous souhaitez écrire une classe capable de comparer si le contenu de deux objets instances est le même, vous devez remplacer la méthode equals !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer