Méthode equals() de Java Object

Java String类Classe Object de Java


La méthode equals() de Object est utilisée pour comparer si deux objets sont égaux.

La méthode equals() compare deux objets et détermine si les deux références d'objet pointent vers le même objet, c'est-à-dire qu'elle vérifie uniquement si les deux objets pointent vers la même adresse en mémoire.

Remarque :Si une sous-classe redéfinit la méthode equals(), elle doit redéfinirla méthode hashCode(), par exemple, la classe String redéfinit la méthode equals() et redéfinit également la méthode hashCode().

Syntaxe

object.equals(Object obj)

Paramètre

  • obj- L'objet à comparer.

Valeur de retour

Retourne true si les deux objets sont égaux, sinon retourne false.

Exemple

L'exemple suivant montre l'utilisation de la méthode equals() :

Exemple

class ExampleTest { public static void main(String[] args) { //La classe Object utilise la méthode equals() //Créer deux objets Object obj1 = new Object(); Object obj2 = new Object(); //Déterminer si obj1 et obj2 sont égaux //Des objets différents ont des adresses mémoire différentes, donc ils ne sont pas égaux, retourne false System.out.println(obj1.equals(obj2)); // false //Affecter obj1 à obj3 //String redéfinit la méthode equals() //Les références d'objet ont la même adresse mémoire, donc elles sont égales, retourne true Object obj3 = obj1; System.out.println(obj1.equals(obj3)); // true } }

Le programme ci-dessus produit le résultat suivant :

false
true

La classe String redéfinit la méthode equals() pour comparer si deux chaînes de caractères sont égales :

Exemple

class ExampleTest { public static void main(String[] args) { //La classe String utilise la méthode equals() //Créer deux objets String obj1 = new String(); String obj2 = new String(); //Déterminer si obj1 et obj2 sont égaux //Les deux objets initialisés sont tous les deux null, donc ils sont égaux, renvoie true System.out.println(obj1.equals(obj2)); // true //Attribuer des valeurs aux objets obj1 = "Exemple"; obj2 = "Google"; //Déterminer si obj1 et obj2 sont égaux //Les deux valeurs sont différentes, et les adresses mémoire sont également différentes, donc ils ne sont pas égaux, renvoie false System.out.println(obj1.equals(obj2)); // false } }

Le programme ci-dessus produit le résultat suivant :

 true
false

Java String类Classe Object de Java

Autres extensions