Número de identificação

Estou fazendo um sistema onde todo usuário cadastrado tem o nome e sobrenome e um número de identificação em uma tabela. O problema é que conforme eu vou cadastrando pessoas, o número de identificação vai se alterando em todos os usuários anteriores, ficando todos com o mesmo número.

Pode dar mais detalhes e mostrar o código onde faz a inserção dos registros? Pois isso facilita entender o que pode estar errado.

Abraço.

   public class Participante {

private static int id = 0;

private static ArrayList<Participante> participantes = new ArrayList();

public static void adicionaParticipante(Participante participante){
    id++;
    participantes.add(participante);        
    participante.getNome();
    participante.getSobrenome();
    participante.setId(id);
    
}

//getters e setters
public static ArrayList<Participante> getParticipante(){
    return participantes;
}

public int getId() {
    return id;
}
public void setId(int id) {
    this.id = id;
}


private void atualizarTabela(){
    DefaultTableModel dtmdadosTabela = (DefaultTableModel) tabelaParticipantes.getModel();
    dtmdadosTabela.setRowCount(0);
    for(Participante participante : Participante.getParticipante()){
        Object[] dados = {participante.getNome(),participante.getSobrenome(),participante.getId()};
        dtmdadosTabela.addRow(dados);
    }
}

Onde é que isto é chamado? Estás a criar um new Participante() ou a usar o mesmo objeto e simplesmente fazer set dos atributos?

Quero criar novos objetos

Está resolvido! Faltava utilizar o “this.” no setter.