Problema ao recuperar long como data

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:

[code]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();
}[/code]

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)

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”).

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:

[code]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();
}[/code]

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