Il metodo equals serve a definire il confronto tra due oggetti per verificare se siano logicamente uguali.
Questo è necessario perché l'operatore di uguaglianza == è vero solo quando gli oggetti confrontati puntano alla stessa istanza.
Ti spiego con un esempio:
Al metodo equals puoi passare qualsiasi oggetto, infatti il primo if verifica che o non sia nullo e che la sua classe sia uguale a quella della tua classe, altrimenti ritorna falso.codice:String a = new String("A"); String b = new String("A"); String c = a; boolean x = (a == b); //falso sono due istanze diverse boolean y = (a.equals(b)); //vero, entrambi sono due stringhe di valore "A" boolean z = (a == c); //vero, entrambi puntano alla stessa istanza
Equal ritornerà vero solo se il parametro è di classe Coppia e se i valori della coppia della tua istanza sono uguali al valore della coppia o.

Rispondi quotando