Problema Com List de VO

4 respostas
LUIZCANTTO
List <VoExame> listaExames = new LinkedList<VoExame>();

...

while(rs.next()) {
                VoPaciente paciente = new VoPaciente();
                paciente.setNomeCompleto(rs.getString("nomeCompleto"));
                vo.setPaciente(paciente);
                vo.setCodigoExame(rs.getString("codExame"));
                vo.setDataCad(rs.getString("dataCad"));
                
                listaExames.add(vo);
                             
}

Pessoal estou com um problema no mínimo estranho…estou recuperando alguns dados do banco por um select e adicionando em uma lista de VO, até ai td bem! O problema acontece na segunda iteração do while, ele recupera dado do banco porém sobrescreve de alguma maneira o primeiro dado adicionado na lista, ou seja minha listaExames fica com a posição 0 e 1 com os mesmos dados… Quem observar algo de estranho me ajude! :stuck_out_tongue:

Nota: utilizei o mesmo tipo de código para uma outra situação também alimentando uma lista e o mesmo esta funcional!

4 Respostas

Ataxexe

Provavelmente o seu SQL está trazendo dois resultados iguais. Já tentou depurar a lista pra ver se realmente as posições 0 e 1 são idênticas (use o id que o IDE te fornece ou imprima o hashcode deles usando System.identityHashCode).

g4j

Onde você instancia “vo” ?

Ataxexe

Agora que fui perceber uma coisinha: a lista é de VoExame e você tá inserindo VoPaciente.

É isso mesmo?

Fellipex

faça como o Ataxexe mencionou, provavelmente isto é apenas sujeira de base, algum dado duplicado enfim, a lógica parece estar certa e
não teria nenhum motivo aparente para estar setando o mesmo registro duas vezes na lista certo?
Faça um select na sua base de dados passando esse código que ‘‘aparentemente’’ está duplicado e veja se ele realmente está.
Valeu :smiley:

Criado 3 de setembro de 2012
Ultima resposta 4 de set. de 2012
Respostas 4
Participantes 4