【发布时间】:2015-02-12 14:44:14
【问题描述】:
这是java.lang.Iterable:
default void forEach(Consumer<? super T> action) {
Objects.requireNonNull(action);
for (T t : this) {
action.accept(t);
}
}
这是java.util.Objects.requireNonNull():
public static <T> T requireNonNull(T obj) {
if (obj == null)
throw new NullPointerException();
return obj;
}
按照我的理解,如果iterable是非空的,并且我传递了一个空动作,它会抛出一个空指针异常无论如何,那么检查动作有什么意义,如果发现为空,则抛出完全相同的异常?
【问题讨论】:
标签: java exception nullpointerexception java-8