DEV Community

Jordy Rodríguez
Jordy Rodríguez

Posted on

Evita NullPointerException en Java

Cada fallo en producción grita NPE. Un null en la entrada, un segundo más y el cliente ya no está conectado.

He visto esto demasiadas veces: estos nulls saltan cuando consumimos APIs, leemos datos de la base o manejamos configuración opcional. Un valor que llega null al otro lado del código estalla al dereferenciarlo, y el arreglo termina en hotfixes nocturnos.

Primero, diseña por contrato: no devuelvas null. Si no hay valor, usa un valor por defecto o envoltura con Optional. Nosotros ganamos previsibilidad y reducimos costos de debugging. Por ejemplo:

String username = Optional.ofNullable(user)
                          .map(User::getName)
                          .orElse("anonymous");
Enter fullscreen mode Exit fullscreen mode

Además, aplica guardias tempranas para fail fast: valida entradas y evita que un null propague. Si un objeto es obligatorio, mantén su no-nullidad en todo el flujo. Ejemplo:

if (user == null) {
  throw new IllegalArgumentException("user is required");
}
Enter fullscreen mode Exit fullscreen mode

Cierra con una acción concreta para hoy: identifica una ruta crítica donde puedas recibir null y refactorízala para usar Optional o, al menos, devolver un valor por defecto. Elige una llamada a servicio o lectura de datos que pueda devolver null y ponle un default o envoltura con Optional, luego verifica con tests simples de null-safety.

También tengo un video simple donde te muestra otra forma de evitar NPE:


📬 Conecta Conmigo

Top comments (0)