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

[Dúvida] Cast dentro do "For simplificado"

Somente por curiosidade, fazer o cast dentro do "For simplificado" não é possível, correto? Saberiam me dizer se em nenhum caso isto é possível?

Segue abaixo o código da minha tentiva.

import java.util.ArrayList;

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

public class TesteArrayList {

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

        ContaCorrente cc1 = new ContaCorrente(123, 321);
        ContaPoupanca cp1 = new ContaPoupanca(555, 177);
        ContaCorrente cc2 = new ContaCorrente(999, 222);
        ContaPoupanca cp2 = new ContaPoupanca();

        lista.add(cc1);
        lista.add(cp1);
        lista.add(cc2);
        lista.add(cp2);

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

        ContaCorrente conta = (ContaCorrente) lista.get(0);

    }

}
2 respostas

P.S: criei uma ContaPoupanca sem obrigatoriedade de passar parâmetros no construtor.

solução!

Boa noite Lorenzo.

Que eu saiba não é possível, mas talvez você possa realizar o cast já dentro do FOR conforme o exemplo:

//codigo omitido

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