Java 如何否定方法引用谓词
在Java8中,可以使用方法引用来过滤流,例如:
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); }
回答:
java-11提供了一个新的方法谓词
因此可以否定方法引用:
Stream<String> s = ...;long nonEmptyStrings = s.filter(Predicate.not(String::isEmpty)).count();
以上是 Java 如何否定方法引用谓词 的全部内容, 来源链接: utcz.com/qa/405724.html