Bom Dia pessoal, estou com um problema aqui ao adicionar um objeto em uma List. Segue o exemplo:
List<Conta> contas = new ArrayList<Conta>();
ResultSet rs;
Calendar vencimento = Calendar.getInstance()
while(rs.next())
{
conta.setId( rs.getInt("idcontas") );
conta.setDescricao( rs.getString( "descricao" ) );
conta.setValor( rs.getDouble( "valor" ) );
// Passando a data de vencimento
vencimento.setTime( rs.getDate( "vencimento" ) );
conta.setVencimento( vencimento );
contas.add(conta);
}// while
O problema com esse código é que ao adicionar um item na lista pelo método “contas.add(conta)”, estava sempre repetindo os atributos e passando um objeto idêntico em cada iteração.
Eu tentei resolver esse problema atribuindo uma nova instância ao objeto “conta” no começo de cada iteração, dessa forma:
List<Conta> contas = new ArrayList<Conta>();
ResultSet rs;
Calendar vencimento = Calendar.getInstance()
while(rs.next())
{
conta = new conta();
conta.setId( rs.getInt("idcontas") );
conta.setDescricao( rs.getString( "descricao" ) );
conta.setValor( rs.getDouble( "valor" ) );
// Passando a data de vencimento
vencimento.setTime( rs.getDate( "vencimento" ) );
conta.setVencimento( vencimento );
contas.add(conta);
}// while
O problema foi resolvido, mas a data de vencimento continuou aparecendo igual para todos os itens da lista, alguém sabe me dizer porque isso acontece e como eu deveria proceder?
Obrigado pela atenção