Ir ao conteúdo
  • Cadastre-se

Java Como resolver esse erro de java.lang.NullPointerException


Ir à solução Resolvido por AdrianoSiqueira,

Posts recomendados

Erro = Exception in thread “main” java.lang.NullPointerException at controller.ProjectController.save(ProjectController.java:42) at TodoApp2.Main.main(Main.java:29)

public class ProjectController { public void save(Project project){ String sql = "INSERT INTO Projects (name," + "description," + "createdAt," + "updatedAt) VALUES (?,?,?,?)";

Connection connection = null

; PreparedStatement statement = null

; try {

//cria uma conexao com o banco

connection = ConnectionFactory.getConnection();

//cria um

PreparedStament,

classe usada para executar a query

statement = connection.prepareStatement(sql);

statement.setString(1, project.getName());

statement.setString(2, project.getDescription());

statement.setDate(3, new Date(project.getCreatedAt().

42- getTime())); statement.setDate(4, new Date(project.getUpdatedAt().getTime()));

//Executa a sql para inserção dos dados

statement.execute();

} catch (SQLException ex) { throw new RuntimeException("Erro ao salvar a tarefa", ex); } finally { ConnectionFactory.closeConnection(connection, statement); } }

Link para o comentário
Compartilhar em outros sites

Só com o trecho de código que você postou não dá para afirmar o que pode ser. Se você puder, poste o código da classe toda.

 

Veja se nessa linha não tem nenhum erro de digitação. Se você estiver usando um IDE, veja se ele acusa algum erro nessa linha, geralmente fica um sublinhado vermelho, ou algum outro indicador de problema.

Link para o comentário
Compartilhar em outros sites

Lá no método main você cria um objeto do tipo Projeto, mas você não seta o updatedAt. Se esse atributo for um objeto (ou seja, não é um tipo primitivo), o Java vai iniciá-lo com null. Dessa forma, quando você chama getUpdatedAt é retornado null, até aí tudo bem, afinal ele foi inicializado com o valor padrão. O problema é que na sequência você chama getTime, mas como o valor foi null, é lançado uma exceção (NullPointerException).

 

O que está acontecendo é isso:

projeto.getUpdatedAt().getTime();
null.getTime();  // Isso não pode acontecer
NullPointerException;

 

Para resolver, você tem que setar o updatedAt lá no método main.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!