如何在 Java 中使用谓词?

How can I use a Predicate in Java?

如何使用以下谓词?

Predicate<Integer> isOdd = n -> n % 2 != 0;

我的尝试:

System.out.println(isOdd(5));

编译器输出:

java: cannot find symbol
symbol:   method isOdd(int)
location: class Main

要调用 Predicate,请使用名为 test 的方法。

System.out.println(isOdd.test(5));

if(isOdd.test(5)){
  // Do something fun
}

这是documented here

Predicate<T>是一个接口,所以需要显式调用其中声明的方法,即test(T t);即使变量捕获了 lambda:

isOdd.test(5)