Problema ao exibir data com a classe Calendar

Boa tarde Pessoal,

Estou começando a estudar java para Web e me deparei com o seguinte problema:

Exception in thread “main” java.lang.NullPointerException
at java.util.Calendar.setTime(Unknown Source)
at br.com.caelum.jdbc.dao.ContatoDAO.getLista(ContatoDAO.java:57)
at br.com.caelum.jdbc.teste.TestaLista.main(TestaLista.java:17)

Acusando um erro na linha 57 da minha classe DAO, porém não vejo nenhum erro na linha. Segue abaixo o trecho de código que o Eclipse esta acusando o erro:

                            Calendar data = Calendar.getInstance();
			data.setTime(rs.getDate("dataNascimento"));
			contato.setDataNascimento(data);

Desde já agradeço a atenção

Um abraço

Carinha, NullPointerException é sempre quando você está tentando fazer alguma coisa com uma variável que está presentemente com o valor nulo.

Portanto, tenho os seguintes candidatos para você ver o problema:

Se você olhar o topo do stacktrace, você percebe que o programa entrou no “setTime”. Portanto, minha teoria é que a data que você está mandando para o setTime está nula.

Sugestão:
acrescente este código para verificar se isto é verdade. Deste modo você poderá na depuração ver se a data está realmente vindo nula.

Calendar data = Calendar.getInstance();
Date d = rs.getDate(“dataNascimento”);
data.setTime(d);
contato.setDataNascimento(data);

Uma possível solução para o problema é verificar se a data estiver nula, lançar algum tipo de exceção ou efetuar um tratamento específico…

Normalmente eu prefiro designar valores a variáveis e depois utilizá-las, ao invés de invocar métodos diretamente. Embora isto acrescente um (minúsculo) acréscimo de uso de memória, você ganha em vários pontos:

  1. **IMPORTANTE ** Fica mais fácil depurar o código, pois é possível ver aonde os problemas estão acontecendo.
  2. Em situações onde você tem que chamar o método repetidas vezes para pegar o mesmo valor, você ganha performance.

Verifique se o seu date não é nulo.

Pessoal muito obrigado pela ajuda o erro era que a variável estava retornando null.

Deus abençoa a todos!