没有
-> <-操作员。第一个
->只是Java 8中引入的lambda语法,第二个
<-是误导性的“小于”
<和“一元减”的串联
-。
您可以将其读取为
IntPredicate neg = (x) -> (x <(-x));,即它会测试是否
x小于
-x,所有(很好,大多数)负数就是这种情况,因此命名为
neg。
IntPredicate neg = x -> x <- x;System.out.println(neg.test(4)); // falseSystem.out.println(neg.test(0)); // falseSystem.out.println(neg.test(-4)); // true
仅出于完整性考虑:此测试不仅(有意地?)难以理解,而且-如评论中所指出-
也因
Integer.MIN_VALUE(而
==-Integer.MIN_VALUE)失败。相反,您可能应该只使用简单得多的
IntPredicateneg = x -> (x < 0);。



