五、语法精简
一、参数类型精简
因为在接口的方法中,已经定义类参数的类型,所以在lambda表达式中参数的类型可以生路(要省略的话就都省略,不能一个省略一个不省略)
// 精简前
LambdaNodeReturnMutipleParmeter lambda8 = (int a, int b)->{
System.out.println("参数和是:"+(a+b));
};
// 精简后
LambdaNodeReturnMutipleParmeter lambda8 = (a,b)->{
System.out.println("参数和是:"+(a+b));
};
二、参数小括号精简
如果参数列表中,参数的个数只有一个,此时小括号可以省略
// 精简前
LambdaNodeReturnSingleParmeter lambda7 = (str)->{
System.out.println("参数是"+str);
};
// 精简后
LambdaNodeReturnSingleParmeter lambda2 = str ->{
System.out.println("参数是"+str);
};
三、方法大括号精简
如果方法中只有一条语句,此时大括号也可以省略
// 精简前
LambdaNoneReturnNoneParmeter lambda1 = ()->{
System.out.println("hello world");
};
// 精简后
LambdaNoneReturnNoneParmeter lambda1 = ()-> System.out.println("hello world");
四、大括号精简补充
如果方法体重唯一的一条语句是一个返回结果语句,则省略大括号的同时,也必须省略return关键字
// 精简前
LambdaSingleReturnNoneParmeter lambda4 = ()->{return 66;};
// 精简后
LambdaSingleReturnNoneParmeter lambda4 = ()->66;
五、多参数 由返回值 精简
// 精简前
LambdaSingleReturnMutipleParmeter lambda6 = (a,b)->{return a+b};
// 精简后
LambdaSingleReturnMutipleParmeter lambda6 = (a,b)->a+b;