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

Comparando dois objetos

Por que foi retornado false na seguinte situacao:

        Cliente cliente = new Cliente();
        Conta primeiraConta = new Conta(50,45,100,cliente);
        Conta segundaConta = new Conta (50,45,100,cliente);
        System.out.println(primeiraConta.equals(segundaConta));
2 respostas
solução!

Boa noite, Robertson! Como vai?

Foi retornado false pq primeiraConta e segundaConta são referências à dois objetos diferentes que foram criados. O fato dos objetos terem os mesmos valores armazenados não quer dizer que sejam os mesmo objetos.

Para vc alterar o comportamento do método equals(), vc precisaria sobrescrever esse método na sua classe Conta definindo uma regra sua de como o Java deve comparar uma conta com outra de modo a considerar duas referências iguais ou não.

Pegou a ideia?

Qualquer coisa é só falar!

Grande abraço e bons estudos!

Robertson, complementando a resposta do Gabriel, dá uma lida nesse post aqui, acho que pode te interessar!

Abraços!

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