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

não estou conseguindo utilizar a variavel "lista" no looping "for(Conta conta : lista)", recebo a mensagem "Can only iterate over an array or an instance of java.lang.iterable".

package br.com.bytebank.banco.test;

import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;

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

public class Teste {

    public static void main(String[] args){
        Conta cc1 = new ContaCorrente(22, 33);
        cc1.deposita(333.0);

        Conta cc2 = new ContaPoupanca(22, 44);
        cc2.deposita(444.0);

        Conta cc3 = new ContaCorrente(22, 11);
        cc3.deposita(111.0);

        Conta cc4 = new ContaPoupanca(22, 22);
        cc4.deposita(220.0);

        List<Conta> lista = new ArrayList<>();
        lista.add(cc1);
        lista.add(cc2);
        lista.add(cc3);
        lista.add(cc4);

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

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

        NumeroDaContaComparator comparator = new NumeroDaContaComparator();
        lista.sort(comparator);

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

        }

    }
}

class NumeroDaContaComparator implements Comparator<Conta> {

    @Override
    public int compare(Conta c1, Conta c2) {

        if (c1.getNumero() < c2.getNumero()){
            return -1;
        }

        if (c1.getNumero() > c2.getNumero()){
            return 1;
        }

        return 0;
    }
}
7 respostas

Olá Bruno!

Que estranho.

Só pra eu saber, ele está dando erro no primeiro ou no segundo for?

'Bom dia,

Está dando erro nos dois "for", ele está destacando a palavra lista nos 2 laços, mas eu notei que esse erro está ocorrendo apenas na IDE Eclipse que tenho instalada aqui. Pelo Intellij o código funciona normalmente. Na minha visão não há nada de diferente, inclusive os imports são os mesmos.'

Oi Bruno tudo bem?

Poderia colocar seu código no github, por gentileza. Assim a gente consegue analisar melhor e ver o que está acontecendo.

Olá Bruno, ainda está com problemas por aí?

solução!

Olá Bruno,

Fiz os teste e rodou tranquilo no eclipse. Considerando que o projeto rodou no Intellij, não creio que seja o código. No projeto assim que você abre, tem uma descrição com a versão do JDK em "JRE System Library" que creio que possa ser o problema. Fiz o teste com o java 12.

Obrigado a todos pela ajuda, a questão era com o eclipse que parece não estar se comportando muito bem no linux, deve ser alguma configuração que fiz na instalação ou no primeiro acesso.

Olá Bruno,

como resolveu seu problema, vou fechar o tópico, ok?

Qualquer problema é só chamar a gente :)