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

A saida da minha ArrayList está saindo apenas referencias e não uma lista, oque faço?

Código do Teste

package br.com.BankHIDE.testes.util;

import java.util.ArrayList;
import br.com.BankHIDE.modelo.ContaBankMain;
import br.com.BankHIDE.modelo.ContaCorrente;

public class Teste {

    public static void main(String[] args) {
        ArrayList lista = new ArrayList();

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

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

        System.out.println(lista.size());
        ContaBankMain ref = (ContaCorrente) lista.get(0);
        System.out.println(ref.getAgencia());

        lista.remove(0);

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

        ContaBankMain cc3 = new ContaCorrente(1234, 13231);
        lista.add(cc3);

        ContaBankMain cc4 = new ContaCorrente(226, 254562);
        lista.add(cc4);

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

        System.out.println("--------------------");

        for(Object oRef : lista) {
            System.out.println(oRef);
        }

Saidas do Teste

2
22
Tamanho: 1
br.com.BankHIDE.modelo.ContaCorrente@15db9742
br.com.BankHIDE.modelo.ContaCorrente@6d06d69c
br.com.BankHIDE.modelo.ContaCorrente@7852e922
--------------------
br.com.BankHIDE.modelo.ContaCorrente@15db9742
br.com.BankHIDE.modelo.ContaCorrente@6d06d69c
br.com.BankHIDE.modelo.ContaCorrente@7852e922
2 respostas

Tenta mudar de :

ArrayList lista = new ArrayList();

para:

ArrayList<ContaBankMain> lista = new ArrayList();

E la embaixo, no for:

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

        System.out.println("--------------------");

        for(ContaBankMain oRef : lista) {
            System.out.println(oRef);
        }
solução!

Você deve implementar o toString da classe ContaBankMain, desta forma quando o System.out.println for chamado com o objeto do tipo ContaBankMain o toString do objeto será usado.

Por este motivo é uma boa prática sempre sobrescrever o toString, algo que normalmente as IDE fazem pra nós ;)

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