【发布时间】:2013-02-15 06:21:13
【问题描述】:
在浏览一些代码时,我遇到了箭头运算符,它到底是做什么的?我以为 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();
}
});
【问题讨论】:
-
请注意,确切的场景是 IntelliJ 将现有代码渲染为 lambda 表达式以使其更易于阅读。实际代码不是 lambda 表达式。
标签: java intellij-idea apache-commons java-8 apache-commons-collection