Java 中箭头运算符“->”有什么作用?

2023-12-26

在搜索一些代码时,我遇到了箭头运算符,它到底是做什么的?我以为Java没有箭头运算符。

return (Collection<Car>) CollectionUtils.select(listOfCars, (arg0) -> {
        return Car.SEDAN == ((Car)arg0).getStyle();
});

Details:Java 6、Apache Commons Collection、IntelliJ 12

更新/回答:事实证明,IntelliJ 12 支持 Java 8,Java 8 支持 lambda,并且“折叠”谓词并将其显示为 lambda。下面是“展开”的代码。

return (Collection<Car>) CollectionUtils.select(listOfCars, new Predicate() {
    public boolean evaluate(Object arg0) {
        return Car.SEDAN == ((Car)arg0).getStyle();
    }
});

这是 Java 8 中引入的新 lambda 表达式语法的一部分。有一些在线教程可以帮助您掌握它的窍门,这里有一个link http://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html到一。基本上,->将参数(左侧)与实现(右侧)分开。

使用 lambda 表达式的一般语法是

(Parameters) -> { Body }哪里的->分隔参数和 lambda 表达式主体。

参数用括号括起来,这与方法的方式相同,并且 lambda 表达式主体是用大括号括起来的代码块。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 中箭头运算符“->”有什么作用? 的相关文章

随机推荐