logo

Sostituisci il metodo uguale a in Java

Il metodo equals() della classe oggetto, che accetta un oggetto e lo confronta con l'oggetto corrente, viene utilizzato per confrontare due oggetti. Se i riferimenti a questi due oggetti fossero uguali, il metodo restituirebbe true; altrimenti no.

Esempio

La classe Employee nell'esempio seguente ha due variabili: nome ed età, nonché una funzione parametrizzata Object() { [codice nativo] }.

Utilizzando il metodo equals(), creiamo due oggetti dal metodo main fornendo dati identici e confrontando i risultati.

Questo software restituisce false perché il metodo equals() della classe Object restituisce true solo se i riferimenti agli oggetti sono identici.

Codice di esempio per sovrascrivere il metodo equals:

UgualeExpl.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); } } 

Produzione:

Sostituisci il metodo uguale a in Java

Sostituire il metodo equals()

Puoi sviluppare la tua versione del metodo equals poiché Object è effettivamente la superclasse per tutte le classi in Java.

Codice di esempio:

UgualeExpl1.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); } } 

Produzione:

Sostituisci il metodo uguale a in Java