Problema ao recuperar long como data

2 respostas
rocha

Pessoal estou com o seguinte problema:

em um determindado momento estou chemando um set assim:

empresas.setDtVencimento("02/02/2005");

Segue meu método set e get:

public long getDtVencimento() {
        return dtVencimento;
    }

    public void setDtVencimento(String dtVencimento) {
        Calendar calendar = Calendar.getInstance();
        Date data = new Date();
        try{
            DateFormat dataEntrada = DateFormat.getDateInstance();
            data = dataEntrada.parse(dtVencimento);

            calendar.setTime(data); 
        }catch(ParseException e){
            
        }
        this.dtVencimento = new Long(data.toString()).longValue();
    }
Depois preciso recuperar isso daí faço o seguinte:
Calendar dt = Calendar.getInstance();
                   dt.setTimeInMillis((((Empresa)dados.get(i)).getDtVencimento()));

Daí me é apresentado o seguinte erro na execução:
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:507)
at java.util.ArrayList.get(ArrayList.java:324)
at br.com.solutec.gestor.gui.internal.empresa.ConEmpresa.setTabela(ConEmpresa.java:105)
at br.com.solutec.gestor.gui.controle.empresa.EventosEmpresaButtonsPes.executar(EventosEmpresaButtonsPes.java:36)

2 Respostas

T

Pelo stack trace vi que deu pau aí:
dados.get
Por acaso você lembrou de inicializar o ArrayList com o valor que você quer pegar? (é que se você quer pegar o elemento 0, mas o arraylist está vazio, então babau)

Não fique chateado :frowning: , esse é um problema que parece que requer um colega do lado que veja algo que você não está mais conseguindo enxergar (“miopia por ter ficado muito tempo examinando o mesmo problema”).

rocha

Bom o problema é esse mesmo só q é o seguinte:

isso eu estou fazendo no meu DAO:
empresas.setDtVencimento("02/02/2005");

e isso no meu bean:

public long getDtVencimento() {
        return dtVencimento;
    }

    public void setDtVencimento(String dtVencimento) {
        Calendar calendar = Calendar.getInstance();
        Date data = new Date();
        try{
            DateFormat dataEntrada = DateFormat.getDateInstance();
            data = dataEntrada.parse(dtVencimento);

            calendar.setTime(data); 
        }catch(ParseException e){
            
        }
        this.dtVencimento = new Long(data.toString()).longValue();
    }

Se eu comentar a linha do meu DAO onde eu seto a data o resto rola o q pode ser ?

Criado 3 de maio de 2005
Ultima resposta 3 de mai. de 2005
Respostas 2
Participantes 2