Java8 lambda 表达式
只有一个方法的接口,为了一个简短的语句却要实现这个接口,要多写四五行没用的代码,太麻烦了。 所以要有lambda
无参数 ()-> println("do something")
有一个参数 (int x) -> println(x);
有多个参数 (String a, String b) -> println(a + b);
方法体有多句大括号包起来(int x)-> { println("before print x"); println(x); }
当类型可以被编译器推导的时候 也可以省略类型 (a , b) -> println(a + b);
一个参数时不光可以省略类型 还可以省略括号,如 x -> println(x) ; 如果带上类型则不可以省略括号
箭头左边的是原接口方法的形参声明, 右边的是方法体的实现。 如果实现不止一句话可以用 大括号包起来
延伸阅读: