¿Cuál es la diferencia entre HashMap y Hashtable?
Fuente: Medio Hoy aprenderá la respuesta a una de las preguntas de entrevistas sobre Java más populares: ¿cuál es la diferencia entre HashMap y Hashtable?![Pausa para el café #173. ¿Cuál es la diferencia entre HashMap y Hashtable? Cómo encontrar y corregir NullPointerException en Java - 1](https://cdn.javarush.com/images/article/893b5f6f-89f3-46dc-ad36-7bbcf6a65264/800.jpeg)
Cómo encontrar y corregir NullPointerException en Java
Fuente: Theflashreads Después de leer este artículo, podrá encontrar y corregir mejor un error común en el código Java: NullPointerException.![Pausa para el café #173. ¿Cuál es la diferencia entre HashMap y Hashtable? Cómo encontrar y corregir NullPointerException en Java - 2](https://cdn.javarush.com/images/article/71541560-f2f1-42bb-b5b3-865675fededa/800.jpeg)
¿Qué es una excepción NullPointerException?
java.lang.NullPointerException es una excepción de tiempo de ejecución en Java. Ocurre cuando se intenta acceder a una variable que no apunta ni hace referencia a ningún objeto, es decir, es nula. Dado que NullPointerException es una excepción en tiempo de ejecución, no es necesario detectarla ni manejarla explícitamente en el código de la aplicación.¿En qué circunstancias se produce una NullPointerException?
NullPointerException ocurre cuando se intenta acceder a un objeto no inicializado. Como ya se mencionó, esto sucede cuando la referencia del objeto no va a ninguna parte y tiene un valor nulo. Estos son algunos de los escenarios de excepción NullPointerException más comunes :- Accede a las propiedades de un objeto nulo.
- Lanzar nulo desde un método que arroja una excepción.
- Configuración incorrecta para marcos de inyección de dependencia, por ejemplo: (Spring).
- Pasar parámetros nulos a un método.
- Llamar a métodos en un objeto nulo.
- Usando sincronizado en un objeto nulo.
- Acceda al elemento de índice (por ejemplo, en una matriz) de un objeto nulo.
Ejemplo de excepción de puntero nulo
En este ejemplo, intentamos llamar al método printLength , que toma una cadena como parámetro e imprime su longitud. Si el valor de la cadena que se pasa como parámetro es nulo, se generará una excepción java.lang.NullPointerException .public class NullPointerExceptionExample {
private static void printLength(String str) {
System.out.println(str.length());
}
public static void main(String args[]) {
String nullString = null;
printLength(nullString);
}
}
Exception in thread "main" java.lang.NullPointerException
at NullPointerExceptionExample.printLength(NullPointerExceptionExample.java:3)
at NullPointerExceptionExample.main(NullPointerExceptionExample.java:8)
Cómo evitar lanzar NullPointerException
NullPointerException se puede evitar mediante el uso de las siguientes comprobaciones y métodos preventivos:-
Asegúrese de que un objeto se inicialice correctamente agregando una verificación nula antes de acceder a sus métodos o propiedades.
-
Utilice Apache Commons StringUtils para operaciones de cadenas: por ejemplo, StringUtils.isNotEmpty() para comprobar si una cadena está vacía antes de seguir utilizándola.
import org.apache.commons.lang3.StringUtils; public class NullPointerExceptionExample { private static void printLength(String str) { if (StringUtils.isNotEmpty(str)) { System.out.println(str.length()); } else { System.out.println("This time there is no NullPointerException"); } } public static void main(String args[]) { String nullString = null; printLength(nullString); } }
-
Utilice primitivas en lugar de objetos siempre que sea posible, ya que no pueden tener referencias nulas. Por ejemplo, utilice int en lugar de Integer y boolean en lugar de Boolean .
-
Asegúrate de verificar tu código. Esto reducirá la probabilidad de que se genere una excepción NullPointerException .
GO TO FULL VERSION