我注意到Oracle JDK中许多Java 8方法都使用Objects.requireNonNull()
,如果给定的对象(参数)为null
,则会内部抛出NullPointerException
。
public static <T> T requireNonNull(T obj) {
if (obj == null)
throw new NullPointerException();
return obj;
}
但是,如果引用了一个空对象,无论如何都会抛出NullPointerException
。那么,为什么还要进行额外的空检查并抛出NullPointerException
呢?
一个明显的答案(或好处)是它使代码更易读,我同意。我很想知道在方法开头使用Objects.requireNonNull()
的其他原因。
requireNonNull
。如果下面的示例有意义,我必须承认IntelliJ建议的修复并不总是有效的。 - Christian Vincenzo Traina