在 Collection Interface 中,我发现了一个名为 removeIf()
的方法,其中包含了它的实现。
default boolean removeIf(Predicate<? super E> filter) {
Objects.requireNonNull(filter);
boolean removed = false;
final Iterator<E> each = iterator();
while (each.hasNext()) {
if (filter.test(each.next())) {
each.remove();
removed = true;
}
}
return removed;
}
我想知道是否有任何方法来定义接口中的方法体?
什么是 default
关键字,它是如何工作的?