logo

Remplacer la méthode égale en Java

La méthode equals() de la classe d'objets, qui accepte un objet et le compare à l'objet actuel, est utilisée pour comparer deux objets. Si les références à ces deux objets étaient égales, la méthode renvoie true ; sinon, ce n'est pas le cas.

Exemple

La classe Employee dans l'exemple suivant a deux variables : nom et âge, ainsi qu'une fonction paramétrée Object() { [code natif] }.

En utilisant la méthode equals(), nous créons deux objets à partir de la méthode main en donnant des données identiques et en comparant les résultats.

Ce logiciel renvoie false car la méthode equals() de la classe Object ne renvoie true que si les références aux objets sont identiques.

Exemple de code pour remplacer la méthode equals :

EqualsExpl.java

 import java.util.Scanner; class Student { private String n; private int a; Student(String n, int a){ this.n = n; this.a = a; } } public class EqualsExpl { public static void main(String[] args) { Student s1 = new Student('Sonoo', 19); Student s2 = new Student('Jaiswal', 19); // Comparing the two instances boolean bool = s1.equals(s2); System.out.println(bool); } } 

Sortir:

Remplacer la méthode égale en Java

Remplacer la méthode equals()

Vous pouvez développer votre propre version de la méthode equals puisque l'Object est en effet la superclasse de toutes les Classes en Java.

Exemple de code :

EqualsExpl1.java

 class Student { private String n; private int a; Student(String n, int a){ this.n = n; this.a = a; } public boolean equals(Object o) { if (o == this) { return true; } if (!(o instanceof Student)) { return false; } Student s = (Student) o; return n.equals(s.n)&& Integer.compare(a, s.a) == 0; } } public class EqualsExpl1 { public static void main(String[] args) { Student s1 = new Student('Sonoo', 19); Student s2 = new Student('Jaiswal', 19); //Comparing the two instances boolean bool = s1.equals(s2); System.out.println(bool); } } 

Sortir:

Remplacer la méthode égale en Java