Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Método equals da lista utilizando equals da classe criada

Boa noite. Precebi que o método equals de uma lista, só será chamado, caso o método equals do objeto que estamos passando como parâmetro: Ex:

        ArrayList<Conta> lista = new ArrayList<Conta>();

        Conta cc1 = new ContaCorrente(22, 22);
        Conta cc2 = new ContaCorrente(22, 22);
        lista.add(cc1);

        if (lista.equals(cc1)){
            System.out.println("Item encontrado");
        }else {
            System.out.println("Item não existente");
        }

No caso acima, se não implementarmos o método equals na classe ContaCorrente, ou Conta, ele irá chamar o método equals padrão da classe AbstractList.

Minha dúvida é: E se eu estiver trabalhando com um projeto de 3000 classes? Terei de ficar procurando se o método equals foi implementado? Tem alguma forma de saber se aquela chamada de equals chama um método específico, ou o genérico da classe?

1 resposta
solução!

Fala Rafael, tudo bem?

Geralmente uma lista tem um tipo específico, mas se por um acaso a gente tiver um List<Object> teremos sim que saber se cada um dos possíveis objetos dentro dessa lista de objetos tem o método .equals sobrescrevendo o da classe Object.

Abraç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