如何使用以下谓词?
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)