Jaka jest „domyślna” implementacja metody zdefiniowanej w interfejsie?
W interfejsie kolekcji znalazłem nazwę metodyremoveIf()
który zawiera jego implementację.
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;
}
Chcę wiedzieć, czy istnieje sposób zdefiniowania treści metody w interfejsie?
Co to jestdefault
słowo kluczowe i jak to działa?