Java LanguageErrores de Java - Nulls y NullPointerException


Observaciones

El valor null es el valor predeterminado para un valor no inicializado de un campo cuyo tipo es un tipo de referencia.

NullPointerException (o NPE) es la excepción que se produce cuando intenta realizar una operación inapropiada en la referencia de objeto null . Tales operaciones incluyen:

  • llamando a un método de instancia en un objeto de destino null ,
  • accediendo a un campo de un objeto objetivo null ,
  • intentando indexar un objeto de matriz null o acceder a su longitud,
  • usando una referencia de objeto null como mutex en un bloque synchronized ,
  • echando una referencia de objeto null ,
  • Unboxing una referencia de objeto null , y
  • lanzando una referencia de objeto null .

Las causas de raíz más comunes para NPEs:

  • olvidando inicializar un campo con un tipo de referencia,
  • olvidarse de inicializar elementos de una matriz de un tipo de referencia, o
  • no probar los resultados de ciertos métodos de API que se especifican como devueltos null en ciertas circunstancias.

Ejemplos de métodos comúnmente usados ​​que devuelven null incluyen:

  • El método de get(key) en la API de Map devolverá un null si lo llama con una clave que no tiene una asignación.
  • Los getResource(path) y getResourceAsStream(path) en las API de ClassLoader y Class devolverán el null si no se puede encontrar el recurso.
  • El método get() en la API de Reference devolverá un null si el recolector de basura ha borrado la referencia.
  • Varios métodos getXxxx en las API del servlet de Java EE devolverán un null si intenta recuperar un parámetro de solicitud, una sesión o un atributo de sesión inexistentes, etc.

Existen estrategias para evitar las NPE no deseadas, como probar explícitamente la existencia de valores null o el uso de la "Notación Yoda", pero estas estrategias a menudo tienen el resultado indeseable de ocultar problemas en su código que realmente deberían solucionarse.

Errores de Java - Nulls y NullPointerException Ejemplos relacionados