' - >'在Java中做什么?

Reg*_*arg 7 java java-8

我正在看一些java教程,并不确定' - >'做了什么,在谷歌上找不到任何关于它的东西.

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

myShapesCollection.stream()
.filter(e -> e.getColor() == Color.RED)
.forEach(e -> System.out.println(e.getName()));
Run Code Online (Sandbox Code Playgroud)

ass*_*ias 21

这是用于lambda表达式的语法,可在Java 8中使用.

例如,filter期望a Predicate并且e -> e.getColor() == Color.RED在功能上等同于:

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

  • +1我认为等效代码应该是`new Predicate <Shape>(){public boolean test(Shape e){return e.getColor()== Color.RED; }. (3认同)