Lambda表达式简化方法

 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 }
原生简化,执行结果:

 进阶简化1,执行结果:

 进阶简化2,执行结果:

 进阶简化3,执行结果:

posted @ 2021-09-05 18:51  Eleanor123  阅读(90)  评论(0编辑  收藏  举报