1 package day02;
2
3 public class LambdaTest {
4
5 /*lambda表达式只有一行代码的情况下可以简化
6 * 前提:函数式接口,并且只能有一个方法*/
7 public static void main(String[] args) {
8 ILove love = null;
9 //lambda表达式,原生简化
10 love = (int a) -> {
11 System.out.println("I love cake," + a);
12 };
13 //进阶简化1:去掉参数类型,多个参数也可以去掉
14 love = (a) -> {
15 System.out.println("I love her hair," + a);
16 };
17 //进阶简化2:去掉括号,只能支持一个参数
18 love = a -> {
19 System.out.println("i love dog," + a);
20 };
21 //进阶简化3:去掉大括号,只能单行函数体
22 love = a -> System.out.println("i love cat," + a);
23 love.love(2);
24 }
25
26 interface ILove {
27 void love(int a);
28 }
29 }
原生简化,执行结果:


Lambda表达式简化方法_lambda表达式

 进阶简化1,执行结果:

Lambda表达式简化方法_函数式接口_02

 进阶简化2,执行结果:

Lambda表达式简化方法_函数体_03

 进阶简化3,执行结果:

Lambda表达式简化方法_lambda表达式_04


欢迎批评指正,提出问题,谢谢!