Ultilizar ArrayList de objeto

2 respostas
programaçãojava
Nathan_Rocha

Então pessoal, eu estou criando um ArrayList de um objeto pessoa:

Personal person = new Personal();
ArrayList personal=new ArrayList ();

no entanto quando eu cadastro mais de um personal, o ultimo cadastrado substitui os anteriores;

public void Cadastrar(String cp) {

Scanner dado = new Scanner (<a href="http://System.in">System.in</a>);

Scanner num = new Scanner (<a href="http://System.in">System.in</a>);

person.setCpf(cp);

System.out.println("Nome: ");

person.setNome(dado.nextLine());

System.out.println("Idade: ");

person.setIdade(num.nextInt());

System.out.println("Experiencia Profissional: ");

person.setExe(dado.nextLine());

System.out.println(Numero:);

person.setNumero(dado.nextLine());

personal.add(person);

}
public void Mostrar(String cp,String cp1) {

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

if(cp.equals(personal.get(i).getCpf())) {

personal.get(i).Mostrar();

}

}

}

se por exemplo eu cadastro um personal com cpf 081 e depois cadastrar outro personal com o cpf 099 quando coloco pra mostrar aparece que os dois personais tem o msm cpf 099 (isso acontece com todos os dados)

2 Respostas

Jederson_Andre

Se vc esta instanciando seu objeto Person, dentro da classe Principal, e não dentro do método Cadastrar, ele sempre vai ficar com a mesma referencia na memória, assim so está substituindo os dados e não armazenando em novas posições da memoria.

Nathan_Rocha

Obrigadooo era isso msm

Criado 25 de maio de 2018
Ultima resposta 25 de mai. de 2018
Respostas 2
Participantes 2