Ho notato che molti metodi Java 8 in Oracle JDK utilizzano Objects.requireNonNull()
, che genera internamente NullPointerException
se l'oggetto specificato (argomento) lo è null
.
public static <T> T requireNonNull(T obj) {
if (obj == null)
throw new NullPointerException();
return obj;
}
Ma NullPointerException
verrà lanciato comunque se un null
oggetto viene sottoposto a dereferenziazione. Quindi, perché si dovrebbe fare questo controllo null extra e lanciare
NullPointerException
?
Una risposta ovvia (o beneficio) è che rende il codice più leggibile e sono d'accordo. Sono desideroso di conoscere qualsiasi altro motivo per l'utilizzo
Objects.requireNonNull()
all'inizio del metodo.
Objects.requireNonNull
, il tuo codice non ha ramificazioni, quindi un singolo passaggio di un test unit ti darà una copertura del 100% :-)