Ho una certa confusione sul motivo per cui ignoriamo il metodo .equals
.Perché dobbiamo sovrascrivere il metodo equals() in Java?
Ad esempio:
Test test1 = new Test(3);
Test test2 = new Test(3);
// The if comparison statement do same thing
// which the overridden `.equals()` method does.
if(test1.equals(test2)){
System.out.println("test1 and test2 are ture in .equal");
}
// Override .equals method.
public boolean equals(Object object) {
if(object instanceof Test && ((Test)object).getValue() == this.t) {
return true;
} else {
return false;
}
}
non capisco perché dobbiamo sovrascrivere il metodo .equals()
.
'test1.equals (test2)' non funzionerà come previsto se non lo si sovrascrive. –
Nota: è necessario eseguire l'override di 'hashCode()' se si esegue l'override di 'equals()' – exexzian