箭头运算符' - >'在Java中做什么? [英] What does the arrow operator, '->', do in Java?

查看:904
本文介绍了箭头运算符' - >'在Java中做什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

While hunting through some code I came across the arrow operator, what exactly does it do? I thought Java did not have an arrow operator.

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

详细信息:Java 6,Apache Commons Collection,IntelliJ 12

Details: Java 6, Apache Commons Collection, IntelliJ 12

更新/答案:事实证明,IntelliJ 12支持支持lambda的Java 8,并且折叠预测并将它们显示为lambdas。下面是未折叠代码。

Update/Answer: It turns out that IntelliJ 12 supports Java 8, which supports lambdas, and is "folding" Predicates and displaying them as lambdas. Below is the "un-folded" code.

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


推荐答案

这是新lambda表达式语法的一部分,将在Java 8中介绍。有几个在线教程可以解决它,这里是一个链接到一个。基本上, - > 将参数(左侧)与实际表达式(右侧)分开。

That's part of the syntax of the new lambda expressions, to be introduced in Java 8. There are a couple of online tutorials to get the hang of it, here's a link to one. Basically, the -> separates the parameters (left-side) from the actual expression (right side).

这篇关于箭头运算符' - &gt;'在Java中做什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆