Null no meio da minha lista .(RESOLVIDO)

2 respostas
G

Bom Dia,

estou gerando uma lista e no meio dessa lista me vem algumas linhas null , só que não me gera erro nenhum…
na verdade pego duas listas separada e ai faço uma comparação pra juntar na 3º lista.
e quando junto ela, essa terceira lista me retorna uns campos null …

segue abaixo minha classe de comparação pra gerar a 3º lista.

O que estou fazendo de errado ?
porque não me aponta erro??
=/

public List comparaTimeSheetBiometrico(Date dataIni, Date dataFim, String flag_destino) throws ParseException {
        listaTimeSheet = retornaConsultaTimeSheet(dataIni, dataFim);
        listaBiometrico = retornaConsultaBiometrico(dataIni, dataFim);
        int diferencaMin;
        Date entTs, entBt, saiTs, saiBt, diferenca;

        for (Biometrico bt : listaBiometrico) {
            CompTimeSheetBiometrico comp = new CompTimeSheetBiometrico();

            for (TimeSheetBio ts : listaTimeSheet) {
                if (bt.getSigla().equals(ts.getSigla()) && bt.getData().equals(ts.getData())) {

                    comp.setSigla(bt.getSigla());
                    comp.setNome(ts.getNome());
                    comp.setN_apropriacao(ts.getN_apropriacao());
                    comp.setData(bt.getData());

                    if (ts.getFlag_destino().equals("entrada")) {
                        if (!converteData(ts.getHora()).equals(formataHora(bt.getMenor_horario()))) {
                            comp.setEntradaTS(ts.getHora());
                            comp.setEntradaBio(bt.getMenor_horario());
                        } else if (converteData(ts.getHora()).equals(formataHora(bt.getMenor_horario()))) {
                            comp.setEntradaTS(ts.getHora());
                            comp.setEntradaBio(bt.getMenor_horario());
                        }
                    } else if (ts.getFlag_destino().equals("saida")) {
                        if (!converteData(ts.getHora()).equals(formataHora(bt.getMaior_horario()))) {
                            comp.setSaidaTS(ts.getHora());
                            comp.setSaidaBio(bt.getMaior_horario());
                        } else if (converteData(ts.getHora()).equals(formataHora(bt.getMaior_horario()))) {
                            comp.setSaidaTS(ts.getHora());
                            comp.setSaidaBio(bt.getMaior_horario());
                        }
                    }
                }
            }
            listComp.add(comp);
          }
            return listComp;
        }

2 Respostas

aix

você esta adicionando na lista 3 mesmo que o if não retorne true, você deve adicionar listComp.add(comp); dentro do corpo do if no final dele, ou seja só se a condição for verdadeira.

G

tudo bem só que se eu faço isso nos if’s entrada e saída, vem tudo duplicado…

e se faço em um só ai parece que ele “come” alguns… não vem todos…

=/

Criado 1 de março de 2012
Ultima resposta 1 de mar. de 2012
Respostas 2
Participantes 2