Czy istnieje sposób na utworzenie odwołania do metody, które jest negacją istniejącego, tj. Coś takiego:
long nonEmptyStrings = s.filter(not(String::isEmpty)).count();
Mogłabym stworzyć metodę not
taką jak poniżej, ale zastanawiałam się, czy JDK oferuje coś podobnego?
static <T> Predicate<T> not(Predicate<T> p) { return o -> !p.test(o); }
Dzięki za pomoc!
1 odpowiedź
java-11 oferuje nową metodę Predicate#not
Możesz więc zanegować odwołanie do metody w ten sposób:
Stream<String> s = ...;
long nonEmptyStrings = s.filter(Predicate.not(String::isEmpty)).count();