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,执行结果:
欢迎批评指正,提出问题,谢谢!