Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

java parte 6: aula 4, conhecendo ArrayList

Boa tarde! Ao executar e ste código não entendi como o instrutor Nico conseguiu o resultado de mostrar ContaCorrente numero e agencia. E gostaria de entender como ele fez este resultado. Segue abaixo o código:

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

public class Teste {

        public static void main(String[] args) {

                ArrayList lista = new ArrayList();

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

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

                System.out.println(lista.size());
                Conta ref = (Conta) lista.get(0);
                System.out.println(ref.getNumero());

                lista.remove(0);

                System.out.println("Tamanho: " + lista.size());

                Conta cc3 = new ContaCorrente(33, 311);
                lista.add(cc3);

                Conta cc4 = new ContaCorrente(33, 322);
                lista.add(cc4);

                for(int i = 0; i < lista.size(); i++) {
                    Object oRef = lista.get(i);
                    System.out.println(oRef);
                }

        }
}

Este é o resultado que ele encontrou: Como ele fez o código trazer este resultado?

   ContaCorrente, Numero: 22, Agencia: 22
   ContaCorrente, Numero: 311, Agencia: 33
   ContaCorrente, Numero: 322, Agencia: 33

Desde já obrigado.
1 resposta
solução

Opa, boa noite Thiago!

Quando você chama o método System.out.println();, internamente ele utiliza o método toString, que o instrutor sobrescreveu na classe conta.

Isso foi feito com o seguinte código:

@Override
    public String toString() {
        return "Numero: " + this.numero + ", Agencia: " + this.agencia;
    }

Então ao chamar o System.out.println();, ao invés de mostrar um código que é uma referencia para o objeto, ele mostra o numero e a agencia da conta.

Você pode conferir isso baixando o código do professor e conferindo a classe conta, ou tente você mesmo adicionar esse código a sua classe.

Espero ter ajudado :D