Excepción NullPointer
NPE
NullPointerException
o NPE es un error con el que todo programador de Java está familiarizado. Este error ostenta el récord de ser uno de los más irritantes para los programadores.
Primero, comprendamos el concepto del valor null
para una variable de tipo string. Cuando creamos una variable de tipo string pero olvidamos inicializarla, adquiere el valor null
.
En comparación, si no inicializamos una variable de tipo int
, adquiere el valor 0
.
Consideremos un ejemplo de una variable de tipo string con valor null
:
Main
package com.example; public class Main { public static void main(String[] args) { String string = null; System.out.println(string); } }
Como puedes observar, la salida en pantalla es null
, y el código parece funcionar. Pero ahora intentemos utilizar cualquier método con una variable que tenga el valor null
:
Main
package com.example; public class Main { public static void main(String[] args) { String string = null; string.toLowerCase(); System.out.println(string); } }
Al intentar llamar a cualquier método en una variable de tipo string con valor null, se recibe una NullPointerException
.
Puede parecer que este error no es tan grave, pero más adelante, cuando reciba valores que no fueron escritos por usted personalmente, es probable que lo encuentre con frecuencia. Por lo tanto, es fundamental comprender cómo resolver este error ahora.
Formas de evitar la NPE:
Prestar atención. Si crea una variable de tipo string, verifique dos veces si la ha inicializado;
Utilizar una verificación de null antes de usar la variable, por ejemplo.
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
Se está desarrollando un sistema que procesa correos electrónicos de empleados.
Algunas entradas de correo pueden estar ausentes (null
).
La tarea consiste en validar y procesar solo los correos no nulos y correctamente formateados.
- Se proporciona un arreglo de correos electrónicos de empleados.
- Recorrer cada
email
en el arreglo. - Para cada entrada:
- Verificar que el
email
no seanull
- Y comprobar que contenga el símbolo
@
- Verificar que el
- Si ambas condiciones se cumplen, imprimir el correo electrónico en la consola.
- De lo contrario, imprimir:
"Invalid or missing email"
Solución
solution
¡Gracias por tus comentarios!