Gostaria de fazer uma contribuição/sugestão relacionada a sobrescrita do método equals
, se deixarmos como está na aula "O método equals", pode ocorrer a exceção java.lang.ClassCastException
caso o método seja utilizado com outro objeto que não é uma Conta
.
Como está:
@Override
public boolean equals(Object ref) {
Conta outra = (Conta) ref;
if (this.agencia != outra.agencia) {
return false;
}
if (this.numero != outra.numero) {
return false;
}
return true;
}
Sugestão:
@Override
public boolean equals(Object ref) {
if (!(ref instanceof Conta)) {
return false;
}
Conta outra = (Conta) ref;
if (this.agencia != outra.agencia) {
return false;
}
if (this.numero != outra.numero) {
return false;
}
return true;
}
Isso poderia ser um tópico antes dos exercícios relacionados ao equals
.