下面的是正确的,上面的是我想写的另一种方式不知道为什么错误,我是初学lambda,还请大佬指教。
只有方法引用才可以在 Lambda 中简写成 类名::方法名
这种双冒号写法,它本身不能再参与表达式计算。
你这里有运算符的只能简写成 e -> e.getAge() <= 35
这种形式,省略大括号和 return
。
Java 里面的方法引用你可以看作是是创建了匿名类,你的那个表达式就变成了:
new Predicate<Employee>() {
@Override
public boolean test(Employee e) {
return e.getAge();
}
} <= 35;
4 回答1.6k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
1 回答2.6k 阅读✓ 已解决
4 回答2.2k 阅读
3 回答982 阅读✓ 已解决
2 回答807 阅读✓ 已解决
2 回答1.4k 阅读
java lambda expression:
LambdaParameters ->
是不能省略的java method reference
MethodReference 不能再附加其它运算了。