Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Evitar erro no método equals sobrescrito

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.

2 respostas
solução!

Boa tarde, Mateus! Como vai?

Obrigado pela sua colaboração! É com participações como essa sua que fazemos da Alura uma plataforma cada vez melhor! Continue assim!

Eu verei o que pode ser feito para aproveitar a sua sugestão dentro do curso!

Grande abraço e bons estudos, meu aluno!

Boa tarde Gabriel, tudo certo, e por ai?

Já uso a plataforma a bastante tempo, sempre gostei muito, agora que sai do meu emprego, preciso relembrar de algumas coisas e aprender coisas novas, e já tenho onde encontrar o que preciso =)

Obrigado pelo retorno.