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