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

Mesmo eu não adicionando o cc3. o contains sempre retorna 'true' ao contrário do video

Mesmo eu não adicionando o cc3. o contains sempre retorna 'true' ao contrário do video

package br.com.bytebank.banco.test.util;

import java.util.ArrayList;

import br.com.bytebank.banco.modelo.Conta;
import br.com.bytebank.banco.modelo.ContaCorrente;

public class TesteArrayListEquals {

    public static void main(String[] args) {

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

        Conta cc = new ContaCorrente(22, 11);
        lista.add(cc);

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

        Conta cc3 = new ContaCorrente(22, 22);
        boolean existe = lista.contains(cc3);

        System.out.println("Já existe? " + existe);

        for (Conta conta : lista) {
            System.out.println(conta);
        }

    }
}

Porém se eu instancio a cc3, passando um dado da conta diferente da cc2, lista.contains me retorna "false"

Desculpe, mas onde estou pecando?

2 respostas
solução!

Você chegou a criar o método "equals"? Posta sua classe "Conta" aqui.

Poxa Alexandre. Você tem razão. O "problema" estava no método equals. Vacilo e falta de atenção da minha parte. De toda forma muito obrigado por sua ajuda.

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