Bom, tenho esse método abaixo que popula um arraylist, com objetos do tipo Navio.
Declarei este arraylist utilizando generics : public ArrayList nav = new ArrayList();
Até tudo tranquilo.
Só que, o meu ArrayList, só esta salvando o último objeto, e “N” vezes.
Eu testei, e dei um for, correndo de 0 até o ArrayList.Size() (deram 21 posições o size), e os 21 objetos salvos foram só do último elemento do banco de dados.
Eu queria saber, qual metodo eu uso após nav.add(navio), para que eu destrua o objeto “navio” para que ele possa ser criado novamente, ou algo do tipo.
Alguem tem alguma outra ideia ?
while (result.next()) {
i++;
navio = new Navio();
navio.setNome(result.getString(“nmnavio”));
navio.setLocal(result.getString(“nmlocal”));
nav.add(navio);
System.out.println("Nome: "+navio.getNome()+ " size do ArrayList "+ nav.size());
}
[/code][/quote]
Isto não funcionou. Ele continua fazendo cópias do ultimo registro do banco. Eu até coloquei p/ imprimir o objeto antes de salvar no arraylist, e vem certinho objetos diferentes. O problema está realmente que ele ta substituindo os objetos Navio já salvos no ArrayList por cada objeto Navio novo que eu monto.
[quote=thingol]Eu já vi a seguinte barbaridade, e espero que você não a esteja fazendo:
public class Navio
private static String nome;
private static String local;
public void setNome (...)
public String getNome (...)
}
Me diga se você está usando “static” de bobeira ou não no seu código. Se estiver, o problema é esse.
[/quote]
Nem eu sabia q eu tinha feito essa barberie. Na verdade eu tinha feito como teste, e acabou que esqueci de retirar.
Sequelei mesmo.
Obrigado meu camarada.
E obrigado a todos que tentaram me ajudar tb.
10000 mensagens???Parabéns pelo posto de James Gosling Cover Thingol!!! :lol:
Já acertei 3 números várias vezes.Quando eu fiz um programinha, acertei 4.Vamos fazer uma sociedade para montar um algoritmo de predição eficiente? :twisted: