Ho notato che molti metodi Java 8 in Oracle JDK utilizzano Objects.requireNonNull(), che genera internamente NullPointerExceptionse l'oggetto specificato (argomento) lo è null.
public static <T> T requireNonNull(T obj) {
if (obj == null)
throw new NullPointerException();
return obj;
}
Ma NullPointerExceptionverrà lanciato comunque se un nulloggetto 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% :-)