前言

Lambda表达式可以取代匿名内部类来实现接口,"->"是Java 8中引入的一个新操作符,"->"操作符将Lambda表达式拆分成了左侧的参数列表和右侧的Lambda体(左侧对应实现的抽象方法的参数列表,右侧是对抽象方法的实现),对于初学者Lambda表达式的同学来说,最容易疑惑的地方可能就在于,当要用Lambda表达式实现的接口有不止一个抽象方法时,Lambda表达式如何确定方法。实际上Lambda的实现依赖于函数式接口的支持,而函数式接口只有一个抽象方法,明确了这一点后,Lambda表达式的阅读和使用就变得明确起来了。

无参数、无返回值

() -> System.out.println("Hello Lambda!");

有一个参数、无返回值

//只有一个参数小括号可不写
(x) -> System.out.println(x);

有两个以上参数、有返回值、Lambda体有两条以上语句

(x,y,z) -> {...}
最后修改:2020 年 03 月 14 日 11 : 22 PM