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);
}
}