【问题标题】:What does '->' do in Java?'->' 在 Java 中是做什么的?
【发布时间】:2014-01-13 07:39:58
【问题描述】:

我正在查看一些 java 教程,但不确定 '->' 做了什么,并且在 google 上找不到任何关于它的信息。

这是我看到的一些使用它的代码:

myShapesCollection.stream()
.filter(e -> e.getColor() == Color.RED)
.forEach(e -> System.out.println(e.getName()));

【问题讨论】:

  • 这是编写 lambda expression 的语法,它将作为 Java 8 的一个特性包含进来

标签: java java-8


【解决方案1】:

这是用于lambda expressions 的语法,在 Java 8 中可用。

例如,filter 需要 Predicate,而e -> e.getColor() == Color.RED 在功能上等同于:

new Predicate<Shape>() {
    public boolean test(Shape s) { return s.getColor() == Color.RED; }
}

【讨论】:

  • +1 我认为等效代码应该是new Predicate&lt;Shape&gt;(){ public boolean test(Shape e){ return e.getColor() == Color.RED; } }。
  • 确实如此。谢谢。
猜你喜欢
  • 2020-02-07
  • 2011-01-16
  • 2011-04-24
  • 2012-08-07
  • 1970-01-01
  • 2012-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多