Nullpointerexception
NPE
NullPointerException
ou NPE é um erro com o qual todo programador Java está familiarizado. Este erro detém o recorde de irritar programadores.
Primeiro, é importante compreender o conceito do valor null
para uma variável do tipo string. Quando uma variável string é criada, mas não inicializada, ela adquire o valor null
.
Em comparação, se uma variável do tipo int
não for inicializada, ela adquire o valor 0
.
Considere o exemplo de uma variável string com valor null
:
Main
package com.example; public class Main { public static void main(String[] args) { String string = null; System.out.println(string); } }
Como pode ser observado, a saída exibida na tela é null
, e o código parece estar funcionando. Agora, vamos tentar utilizar qualquer método com uma variável que possua o valor null
:
Main
package com.example; public class Main { public static void main(String[] args) { String string = null; string.toLowerCase(); System.out.println(string); } }
Ao tentar chamar qualquer método em uma variável de string com valor null, ocorre uma NullPointerException
.
Pode parecer que esse erro não é tão grave, mas, futuramente, ao receber valores que não foram escritos por você, é comum se deparar com esse problema. Por isso, é fundamental compreender como resolver esse erro agora.
Formas de evitar a NPE:
Atenção redobrada. Ao criar uma variável de string, confira se ela foi inicializada;
Utilize uma verificação de null antes de usar a variável, por exemplo.
Main
package com.example; public class Main { public static void main(String[] args) { String string = null; if (string == null) { // null check System.out.println("Can't use methods with string, because value is null"); } else { System.out.println(string); } } }
Swipe to start coding
Você está desenvolvendo um sistema que processa e-mails de funcionários.
Algumas entradas de e-mail podem estar ausentes (null
).
Sua tarefa é validar e processar apenas os e-mails não nulos e corretamente formatados.
- Você recebe um array de e-mails de funcionários.
- Percorra cada
email
no array. - Para cada entrada:
- Verifique se o
email
não énull
- E verifique se ele contém o símbolo
@
- Verifique se o
- Se ambas as condições forem atendidas, imprima o e-mail no console.
- Caso contrário, imprima:
"Invalid or missing email"
Solução
solution
Obrigado pelo seu feedback!