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

(Dica) Editando a Lista

Eu estava com um problema no meu laço for, o primeiro item da minha lista simplesmente não editava, o segundo sim. Consegui resolver ataés dos Logs, descobri que um if estava dentro do laço for. if (alunoEncontrado != null) { int posicaoAluno = alunos.indexOf(alunoEncontrado); alunos.set(posicaoAluno, aluno); } Conclui que nem sempre o google ajuda .

package com.example.studying.dao;

import com.example.studying.model.Aluno;

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

public class AlunoDao {
    private final static List<Aluno> alunos = new ArrayList<>();
    private static int contadorDeIds = 1;

    public void salva(Aluno novoAluno) {
        novoAluno.setId(contadorDeIds);
        alunos.add(novoAluno);
        contadorDeIds++;
    }

    public void edita(Aluno aluno) {
        Aluno alunoEncontrado = null;
        for (Aluno a : alunos) {
            if (a.getId() == aluno.getId()) {
                alunoEncontrado = a;
            }
        }
          if (alunoEncontrado != null) {
                int posicaoAluno = alunos.indexOf(alunoEncontrado);
                alunos.set(posicaoAluno, aluno);
            }
    }

    public List<Aluno> todos() {
        return new ArrayList<>(alunos);
    }
}
1 resposta
solução!

Fala Rafael, de boa ?

Cara bem bacana seu posicionamento !

Ficamos felizes que conseguiu solucionar o problema, se tu quiser saber voce também poderia ter feito um for que usasse a posição, algo assim :

for (int i = 0; i < alunos.size(); i++) {

        Aluno alunoNaPosicaoAtual = alunos.get(i);
        if (aluno.getId() == alunoNaPosicaoAtual.getId()) {
                alunos.set(i, aluno);
                return;
        }
}

Dessa maneira acho que até a leitura é mais simples