Différence :
== Ce qui est comparé est l'adresse mémoire (tas) de l'objet stockée dans la mémoire variable (pile), utilisé pour déterminer si les adresses des deux objets sont les mêmes, c'est-à-dire si elles font référence au même objet. Ce qui est comparé est le véritable fonctionnement du pointeur.
equals est utilisé pour comparer si le contenu de deux objets est égal. Puisque toutes les classes héritent de la classe java.lang.Object, elle est applicable à tous les objets, si cette méthode n'est pas remplacée. la méthode de la classe Object est toujours appelée, mais la méthode égale dans Object renvoie le jugement de ==.
Les types de données en Java peuvent être divisés en deux catégories :
Types de données de base
byte, short, char, int, long, float, double, boolean
Les comparaisons entre les types de données de base nécessitent le double signe égal (==), car elles comparent les valeurs.
Type de données de référence
Interface, classe, tableau et autres types de données non basiques
La chaîne en Java appartient à Type de données de référence car String est une classe.
Lorsqu'ils comparent en utilisant (==), ils comparent leurs adresses de stockage en mémoire. Par conséquent, à moins qu'il ne s'agisse du même nouvel objet, le résultat de leur comparaison est vrai, sinon le résultat de la comparaison est faux. Parce qu'un nouvel espace mémoire tas sera ouvert à chaque fois
Entity entity = new Entity(); Entity entity1 = new Entity(); Entity entity2 = entity; System.out.println(entity==entity2); System.out.println(entity.equals(entity2)); System.out.println(entity.equals(entity1)); System.out.println(entity==entity1);
Résultat :
true true false false
Résumé :
Pour les données composites, comparer les égaux entre les types. En l'absence de remplacement de la méthode égale, la comparaison entre eux est toujours la valeur de l'adresse de l'emplacement de stockage dans la mémoire, qui est la même que le résultat du double signe égal (==) ; , le résultat sera le même que la requête prioritaire.
== Fonction :
Type de base : la comparaison consiste à savoir si les valeurs sont les mêmes ;
Type de référence : la comparaison consiste à savoir si les valeurs d'adresse sont identiques ; le même. Le rôle de
est égal à :
Type de référence : par défaut, la valeur de l'adresse est comparée. Après avoir remplacé cette méthode, comparez si les valeurs des variables membres de l'objet sont les mêmes.
Tutoriel recommandé : Tutoriel d'introduction à Java
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!