В Java 8 вы можете использовать ссылку на метод для фильтрации потока, например:
Stream<String> s = ...;
long emptyStrings = s.filter(String::isEmpty).count();
Есть ли способ создать ссылку на метод, который является отрицанием существующего, то есть что-то вроде:
long nonEmptyStrings = s.filter(not(String::isEmpty)).count();
Я мог бы создать метод not
как показано ниже, но мне было интересно, предлагает ли JDK нечто подобное.
static <T> Predicate<T> not(Predicate<T> p) { return o -> !p.test(o); }