Ao contrário do que foi mostrado na aula, meu console retorna true, como se eu tivesse incluído o cc3 na lista. Copiei o código na transcrição do vídeo para ficar exatamente igual, e mesmo assim retorna o true.
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 TesteArrayListEquals2 {
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) {
if(conta == cc3) {
System.out.println("Já tenho essa conta!");
}
}
for(Conta conta : lista) {
System.out.println(conta);
}
}
}
Console: Já existe? true
ContaCorrente, Numero: 11, Agencia: 22
ContaCorrente, Numero: 22, Agencia: 22