Concatenazione Optional
Sostituisci i controlli null annidati con una pipeline Optional.
Confronto Codice
✕ 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");
Vedi un problema con questo codice? Faccelo sapere.
Perché vince l'approccio moderno
Concatenabile
Ogni passo .map() gestisce il null in modo trasparente.
Flusso lineare
Leggi da sinistra a destra invece di blocchi if annidati.
A prova di NPE
Il null è gestito ad ogni passo — nessun crash possibile.
Approccio Vecchio
Controlli null annidati
Approccio Moderno
Pipeline Optional
Dal JDK
9
Difficoltà
Principiante
Supporto JDK
Concatenazione Optional
Disponibile
Disponibile dal JDK 8+ (migliorato in 9+)
Come funziona
Optional.map() concatena attraverso valori nullable, cortocircuitando al primo null. orElse() fornisce il default. Questo elimina la piramide della morte nei controlli null.
Documentazione Correlata