Estou tendo problemas ao adicionar um mesmo objeto (que muda o valor de seus atributos com o tempo) numa lista.
Crio o objeto, seto os valores, adiciono na lista. Seto novos valores, adiciono novamente na lista, e assim sucessivamente.
Debugando, percebo que TODOS os objetos adicionados anteriormente recebem os mesmos valores que foram setados por ultimo, assim tenho uma lista com todos os objetos identicos ao ultimo elemento adicionado.
Sejá que vou ter que instanciar um novo objeto pra cada adição na lista?
Quando adiciono um obejeto numa lista, ele nao deveria se tornar independente? Por que ele continua sendo referencia do objeto originalmente criado?
Eu entendi o que acontece (mesma referencia), apesar de nao entender o por quê.
Sei que se criar uma nova instancia pra cada adição resolvo isso mas gostaria de saber se há outra forma.
Apesar de adicionares à lista, o objecto campoBean continua a ser o mesmo que está na lista. Assim, enquanto não fizeres um new, estás a alterar o objecto que também está na lista.
Quando vc insere um objeto na lista, vc está inserindo uma referência desse objeto. Se vc alterar o objeto original, ele vai alterar “as outras cópias (referências)”.
O que vc deve fazer pra resolver esse problema é sempre criar outro objeto para inserir na lista.
[quote=JhowTroMundo]
Eu entendi o que acontece (mesma referencia), apesar de nao entender o por quê.
Sei que se criar uma nova instancia pra cada adição resolvo isso mas gostaria de saber se há outra forma.
Obrigado.[/quote]