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

Duvida na sobrecarga do método equals - vídeo da Aula 03 do Curso Java |||

@Override
    public boolean equals(Object obj) {
        if(!(obj instanceof Conta)) return false;
        Conta outra = (Conta) obj;
        return outra.saldo == this.saldo;        
    }

Boa noite! Neste código de sobrecarga do método equals, qual objeto será equivalente aos objetos que serão comparadas na Classe de teste quando se faz a condição if(c1.equals(c2)) ?

Essa parte está próximo de 10 minutos de vídeo. Agradeço se alguém puder me esclarecer.

4 respostas

Nesse caso, serão comparados os saldos das duas contas. Esse critério dentro do equals é algo que você decide, entao você poderia comparar outros atributos, todos os atributos, apenas um atributo, etc.

Mas como o método vai saber que o objeto "outra" vai ser equivalente ao objeto c1 da classe de testes?

solução!

Nesse caso particular, ele vai saber que é equivalente se os saldos forem identicos. Pense que é um metodo como qualquer outro: quem invocar c1.equals(c2), lá dentro do metodo, o c1 vai ser this, o c2 vai ser a outra.

E voce pode mudar esse return para retornar true apenas em uma determinada condicao que voce preferir.

Agora entendi! Agradeço!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software