Tenho uma dúvida no seguinte trecho do meu código:
…
Contatos cont = new Contatos();
....
case 1:
cont.setNome(JOptionPane.showInputDialog(null, "Nome: "));
cont.setTel(JOptionPane.showInputDialog(null, "Telefone: "));
listaContatos.add(cont);
break;
//aqui eu vou ter alguma coisa (do/while) perguntando se deseja inserir outro contato na lista...é justamente aqui o problema
Pergunto: caso queria inserir outro contato, preciso criar um novo Objeto (ex. cont2) para inserir na lista?
Se sim, como fazer isso sem a necessidade de um Array.
Utilizei Lista justamente para evitar o Array convencional com capacidade limitada.
da mesma forma que vc criou o primeiro Contatos. Mas isso não quer dizer que vc precisa criar outra referência, basta criar um novo Contatos com um “new Contatos()” e atribuir a mesma variável. Observe o código:
while(contador++<maximo) {
Contatos c = new Contatos();
...//Setar os campos do objeto
suaLista.add(c);
}
Em cada iteração desse while, vc está adicionando um objeto diferente a lista.
[quote=yorgan]
Contatos cont;
....
case 1:
cont = new Contatos();
cont.setNome(JOptionPane.showInputDialog(null, "Nome: "));
cont.setTel(JOptionPane.showInputDialog(null, "Telefone: "));
listaContatos.add(cont);
break;
Assim ele vai criar uma instancia nova para cada contato adicionado.
[]´s[/quote]
É isso mesmo yorgan.
Funcionou beleza.
Meu medo era ficar entupindo a memória de Objetos do tipo Contatos.
Talvez eu tenha perdido algum conceito nesse sentido.
[quote=rissato]da mesma forma que vc criou o primeiro Contatos. Mas isso não quer dizer que vc precisa criar outra referência, basta criar um novo Contatos com um “new Contatos()” e atribuir a mesma variável. Observe o código:
while(contador++<maximo) {
Contatos c = new Contatos();
...//Setar os campos do objeto
suaLista.add(c);
}
Em cada iteração desse while, vc está adicionando um objeto diferente a lista.[/quote]