"Quem nunca tomou um NullPointerException atire o primeiro mouse."
Quando uma pessoa começa a caminhar o longo caminho do mundo da programação um erro comum com qual se defronta é com o famoso e não querido NullPointerException, mas o que vem a ser esse obstaculo na vida de um programador e como resolvê-lo ? Para resolver tais estão publiquei essa essa dica que explica de forma bem simples o que é e como resolver um caso simples de NullPointerException.
Como ocorre ?
O NullPointerException ou NullPointer para os mais íntimos ocorre quando tenta-se utilizar um atributo ou método de um objeto que não fora inicializado. (Que esteja no estado null). Um exemplo pode ser visto no código abaixo:
package com.blogspot.maguscode;
public class TesteNullPointer {
public static void main(String args[])
{
Carro carro = null;
carro.setMarca("Gol");
System.out.println("Marca do carro é:"+carro.getMarca());
}
}
public class TesteNullPointer {
public static void main(String args[])
{
Carro carro = null;
carro.setMarca("Gol");
System.out.println("Marca do carro é:"+carro.getMarca());
}
}
Quando esse código é executando o resultado é um NullPointerException como pode ser visto na figura abaixo:
Neste caso o objeto Carro não foi instaciado e seu estado permaneceu nulo, quando foi tentado inserir um valor a seu atributo marca foi lançado um NullPointerException pois o objeto Carro em questão não existia em lugar algum. É como se tenta-se localizar uma casa com um determinado número em uma cidade que não existe.
De grosso modo o NullPointer acontece quando tentamos acessar um atributo em um objeto que não existe.
Como solucionar ?
Uma solução para matar o NullPointer seria verificar se o objeto está instancianciado caso não esteja instancia-lo ou simplismente instância-lo quando o mesmo for criado como no exemplo abaixo:
package com.blogspot.maguscode;
public class TesteNullPointer {
public static void main(String args[])
{
Carro carro = new Carro();
carro.setMarca("Gol");
System.out.println("Marca do carro é:"+carro.getMarca());
}
}
public class TesteNullPointer {
public static void main(String args[])
{
Carro carro = new Carro();
carro.setMarca("Gol");
System.out.println("Marca do carro é:"+carro.getMarca());
}
}