在浏览一些代码时,我遇到了箭头运算符,它到底是做什么的?我认为Java没有箭头运算符。
return (Collection<Car>) CollectionUtils.select(listOfCars, (arg0) -> {
return Car.SEDAN == ((Car)arg0).getStyle();
});
详细信息:Java 6、Apache Commons Collection、IntelliJ 12
更新/回答: 事实证明 IntelliJ 12 支持 Java 8,它支持 lambda,并且正在“折叠”谓词并将它们显示为 lambda。下面是“未折叠”的代码。
return (Collection<Car>) CollectionUtils.select(listOfCars, new Predicate() {
public boolean evaluate(Object arg0) {
return Car.SEDAN == ((Car)arg0).getStyle();
}
});
原文由 Mike Rylander 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是新 lambda 表达式语法的一部分,将在 Java 8 中引入。有几个在线教程可以掌握它,这里有一个 链接。基本上,
->
将参数(左侧)与实现(右侧)分开。使用 lambda 表达式的一般语法是
(Parameters) -> { Body }
其中->
分隔参数和 lambda 表达式主体。参数用括号括起来,这与方法相同,lambda 表达式主体是用大括号括起来的代码块。