Streams Intermedio

Concatena i fallback Optional senza controlli annidati.

✕ Java 8
Optional<Config> cfg = primary();
if (!cfg.isPresent()) {
    cfg = secondary();
}
if (!cfg.isPresent()) {
    cfg = defaults();
}
✓ Java 9+
Optional<Config> cfg = primary()
    .or(this::secondary)
    .or(this::defaults);
Vedi un problema con questo codice? Faccelo sapere.
🔗

Concatenabile

Impila i fallback in una pipeline leggibile.

Valutazione lazy

I supplier di fallback vengono eseguiti solo se necessario.

📖

Dichiarativo

Si legge come 'prova il primario, o il secondario, o i default'.

Approccio Vecchio
Fallback annidato
Approccio Moderno
Catena .or()
Dal JDK
9
Difficoltà
Intermedio
Fallback Optional.or()
Disponibile

Ampiamente disponibile dal JDK 9 (settembre 2017)

Optional.or() restituisce l'Optional originale se ha un valore, altrimenti valuta il supplier per ottenere un Optional alternativo. I supplier sono lazy — chiamati solo quando necessario.

Condividi 𝕏 🦋 in