wiliamps 23 de out. de 2012
Isso parece muito com problema de referência.
Você deve estar adicionando a mesma referência de uma variável.
Mas como está modificando o valor associado a esta referência, acaba mostrando repetidamente a última mudança de valor em todas as linhas.
Exemplo do erro:
ArrayList < Product > listP = new ArrayList < Product > ();
Product p = new Product ();
// Adiciona
for ( int i = 0 ; i < 10 ; i ++ ) {
p . setDescricao ( "Produto " + i );
listP . add ( p );
}
// Imprime
for ( Product c : listP ) {
System . out . println ( c . getDescricao ());
}
A correção é você criar uma nova referência para não utilizar a mesma.
Exemplo:
ArrayList < Product > listP = new ArrayList < Product > ();
Product p = null ;
// Adiciona
for ( int i = 0 ; i < 10 ; i ++ ) {
p = new Product ();
p . setDescricao ( "Produto " + i );
listP . add ( p );
}
// Imprime
for ( Product c : listP ) {
System . out . println ( c . getDescricao ());
}
Obs.: Veja que o “new” foi colocado dentro do laço.
wiliamps
Cledsonjr 23 de out. de 2012
wiliamps:
Isso parece muito com problema de referência.
Você deve estar adicionando a mesma referência de uma variável.
Mas como está modificando o valor associado a esta referência, acaba mostrando repetidamente a última mudança de valor em todas as linhas.
Exemplo do erro:
ArrayList < Product > listP = new ArrayList < Product > ();
Product p = new Product ();
// Adiciona
for ( int i = 0 ; i < 10 ; i ++ ) {
p . setDescricao ( "Produto " + i );
listP . add ( p );
}
// Imprime
for ( Product c : listP ) {
System . out . println ( c . getDescricao ());
}
A correção é você criar uma nova referência para não utilizar a mesma.
Exemplo:
ArrayList < Product > listP = new ArrayList < Product > ();
Product p = null ;
// Adiciona
for ( int i = 0 ; i < 10 ; i ++ ) {
p = new Product ();
p . setDescricao ( "Produto " + i );
listP . add ( p );
}
// Imprime
for ( Product c : listP ) {
System . out . println ( c . getDescricao ());
}
Obs.: Veja que o “new” foi colocado dentro do laço.
wiliamps
Muito obrigado Williamps . Esse realmente era o problema, eu achava que eu deveria criar um novo objeto List e não o contrário.
Solução:
filho . add ( filhosControle . getFilhos ());
maeControle . getMae (). setFilhos ( filho );
filhosControle . inicializarObjetos ();
@javax.annotation.PostConstruct
public void inicializarObjetos() {
this.filhos = new Filhos();
}