I have noted that many Java 8 methods in Oracle JDK use Objects.requireNonNull()
, which internally throws NullPointerException
if the given object (argument) is null
.
public static <T> T requireNonNull(T obj) {
if (obj == null)
throw new NullPointerException();
return obj;
}
But NullPointerException
will be thrown anyway if a null
object is dereferenced. So, why should one do this extra null check and throw
NullPointerException
?
One obvious answer (or benefit) is that it makes code more readable and I agree. I’m keen to know any other reasons for using
Objects.requireNonNull()
in the beginning of the method.