否定Java 8对Predicate方法的引用

时间:2017-01-02 16:00:16

标签: java functional-programming java-8 predicate

在Java 8中,可以引用使用Collection.contains(Object)返回boolean / Boolean(例如method reference syntax)的一元方法,返回等效{{1}对象方法的对象:

Predicate

此外,可以使用Predicate.negate()

检索此对象的否定
final Set<Integer> acceptedValues = new HashSet<>();
final Predicate<Integer> isValueAccepted = acceptedValues::contains;

但是,是否没有直接否定方法引用本身的简写? - 例如,以下表达式不可编译:

  • final Predicate<Integer> isValueNotAccepted = isValueAccepted.negate();
  • final Predicate<Integer> isValueNotAccepted = acceptedValues::contains::negate;
  • final Predicate<Integer> isValueNotAccepted = acceptedValues::contains.negate();

0 个答案:

没有答案