Sostituisci equals() in Java

Lovey Arora 12 ottobre 2023
Sostituisci equals() in Java

In Java, Overriding è quando la classe figlio o la sottoclasse ha la stessa esecuzione del metodo dichiarata nella classe padre.

Il metodo equals() confronta due stringhe. Se i dati di un oggetto stringa sono uguali all’altro, restituisce il valore Vero altrimenti Falso. Quando sovrascriviamo il metodo equals(), è sempre consigliabile sovrascrivere anche il metodo hashtag().

Questo tutorial dimostrerà come sovrascrivere gli uguali in Java.

Per verificare se i valori negli oggetti sono uguali o meno, usiamo il metodo equals(). Possiamo sovrascrivere questo metodo nella classe per verificare se i due oggetti hanno gli stessi dati o meno, poiché le classi in Java vengono ereditate solo dalle classi di oggetti.

Il @Override dice al compilatore di sovrascrivere durante il tempo di compilazione.

Vedere il codice riportato di seguito:

class Complex {
  private double ab, cd;

  public Complex(double ab, double cd) {
    this.ab = ab;
    this.cd = cd;
  }

  @Override
  public boolean equals(Object o) {
    if (o == this) {
      return true;
    }

    if (!(o instanceof Complex)) {
      return false;
    }

    Complex c = (Complex) o;

    return Double.compare(ab, c.ab) == 0 && Double.compare(cd, c.cd) == 0;
  }
}

public class Main {
  public static void main(String[] args) {
    Complex c1 = new Complex(12, 13);
    Complex c2 = new Complex(12, 13);
    if (c1.equals(c2)) {
      System.out.println("Equal ");
    } else {
      System.out.println("Not Equal ");
    }
  }
}

Produzione:

Equal

Nell’esempio sopra, l’override viene eseguito dal metodo equals() per confrontare due oggetti complessi con l’aiuto dell’espressione booleana. Quindi, se l’oggetto viene confrontato con se stesso, restituisce True. Quindi, abbiamo verificato se l’oggetto è un’istanza di complex o meno e quindi restituisce False. Ora, digitiamo l’oggetto in complex in modo da poter confrontare i membri dei dati. Infine, creiamo la classe driver per testare la classe complessa.

Articolo correlato - Java Override