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

Equals Generator

Olá, pessoal! Eu utilizo o intelliJ e, nele, há o generator dos getters, setters, equals, etc, para facilitar a vida, rs (acho que no Eclipse, também tem)

Mas fiquei um pouco confuso com o override que ele gera do Equals:

   @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Conta conta = (Conta) o;
        return agencia == conta.agencia && numero == conta.numero;
    }

As duas últimas linhas fazem a mesma coisa que o Nico fez, inclusive, funcionou da mesma maneira, mas e as duas primeiras linhas? Logo na primeira, ele dá um return true comparando as referências, mas o código funciona como queremos, comparando os atributos, então, não entendi bem. E a segunda linha, muito menos, rs.

2 respostas
solução!
   @Override
    public boolean equals(Object o) {
        if (this == o) return true; // se o endereço de memória dos objetos for o mesmo, então são iguais, retorna true
        if (o == null || getClass() != o.getClass()) return false; // se o objeto recebido for null ou se o tipo da class entre eles for diferente, retorna false
        Conta conta = (Conta) o;
        return agencia == conta.agencia && numero == conta.numero; // verifica se os atributos são iguais
    }

Valeu, Otavio, eu estava lendo de forma errada o método e graças à sua explicação, entendi certinho o/