Objects.requireNonNullElse()
Ottieni un valore non-null con un default chiaro, senza ternario.
Confronto Codice
✕ Java 8
String name = input != null
? input
: "default";
// easy to get the order wrong
✓ Java 9+
String name = Objects
.requireNonNullElse(
input, "default"
);
Vedi un problema con questo codice? Faccelo sapere.
Perché vince l'approccio moderno
Intento chiaro
Il nome del metodo descrive esattamente cosa fa.
Default null-safe
Anche il valore di default viene controllato per null.
Leggibile
Meglio del ternario per la semplice logica null-o-default.
Approccio Vecchio
Controllo null ternario
Approccio Moderno
requireNonNullElse()
Dal JDK
9
Difficoltà
Principiante
Supporto JDK
Objects.requireNonNullElse()
Disponibile
Ampiamente disponibile dal JDK 9 (settembre 2017)
Come funziona
requireNonNullElse restituisce il primo argomento se non-null, altrimenti il secondo. Il default stesso non può essere null — lancia NPE se entrambi sono null, catturando i bug precocemente.
Documentazione Correlata