我如何在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
}

在这里记录

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

isOdd.test(5)

最新更新