Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida no Ex. 2 da Aula 4 - Compare os tipos de laços

Eu entendo que não devo remover elementos de uma lista em um enhanced for, porém estou em dúvida se existe algum problema em alterar atributos de objetos em uma lista.

Por exemplo:

class A {
    public int valor;
}

public class TesteSepardo {

    public void test() {
        List<A> lista = new ArrayList<>();
        lista.add(new A());

        for(A a : lista) {
            a.valor = 10;
        }
    }
}

Eu verifiquei e o código funciona como esperado. Mas existe algo de errado com ele? Tem problema me referir à atributos e métodos da variável a dentro do enhanced for?

1 resposta
solução!

Eduardo, Boa Tarde .

sim esse código funciona perfeitamente , porém ele está atribuindo para todos os elementos da sua lista o valor 10 .

o enhanced for é muito util para percorrer lista , porém para você fazer qualquer alteração da lista sugiro utilizar o for comum . assim pode acessar um elemento especifico que você queira .

espero ter ajudado , Bons Estudos .