Estou estudando Java e queria saber o que é NullPointerException
? Queria saber o que causa essa exceção e como evitar esse tipo de erro também.
NullPointerException
é um tipo de exceção que é lançada quando se tenta usar algo com valor null
como se fosse um objeto comum. Isso pode envolver manipular propriedades, campos, atributos, métodos de um objeto, sem que esse objeto exista.
Situações que causam NullPointerException
no Java:
- Tentar acessar um campo de uma instância cuja referência seja
null
.
Pessoa p = null;
String nome = p.nome; // <-- NullPointerException é lançado.
- Tentar acessar um método de uma instância cuja referência seja
null
Pessoa p = null;
String nome = p.getNome(); // <-- NullPointerException é lançado.
- Tentar fazer autounboxing de
null
Integer x = null;
int z = x; // NullPointerException é lançado.
- Tentar lançar
null
como exceção
Exception x = null;
throw x; //
- Acessar tamanho de uma variável do tipo array que tenha valor
null
String[] x = null;
int tamanho = x.length;
- Tentar iterar sobre
null
usandofor each
String[] x = null;
for (String y : x) {
// ...
}
- Tentar usar
synchronized
em um objetonull
Object x = null;
synchronized (x) {
// ...
}
- Tentar obter uma referência a um método a partir de um objeto
null
Pessoa p = null;
Supplier<String> f = p::toString;