Encadenamiento con Optional
Reemplaza las verificaciones de null anidadas con un pipeline de Optional.
Comparación de Código
✕ Java 8
String city = null;
if (user != null) {
Address addr = user.getAddress();
if (addr != null) {
city = addr.getCity();
}
}
if (city == null) city = "Unknown";
✓ Java 9+
String city = Optional.ofNullable(user)
.map(User::address)
.map(Address::city)
.orElse("Unknown");
¿Ves un problema con este código? Cuéntanos.
Por qué gana la forma moderna
Encadenable
Cada paso .map() maneja null de forma transparente.
Flujo lineal
Se lee de izquierda a derecha en lugar de bloques if anidados.
A prueba de NPE
null se maneja en cada paso — no hay posibilidad de fallo.
Enfoque Antiguo
Verificaciones de null anidadas
Enfoque Moderno
Pipeline de Optional
Desde JDK
9
Dificultad
Principiante
Soporte JDK
Encadenamiento con Optional
Disponible
Disponible desde JDK 8+ (mejorado en 9+)
Cómo funciona
Optional.map() encadena valores que pueden ser null, cortocircuitando en el primer null. orElse() proporciona el valor por defecto. Esto elimina la pirámide de verificaciones de null.
Documentación Relacionada
Prueba