Lambda语法格式

Lambda变形:
-
1、Lambda允许忽略参数类型,只需要参数的数量保持一致就可以了,参数含义和原始含义相同
-
2、单行实现代码可以省略大括号和return
-
3、有且只有一个参数的时候 可以省略小括号
注意: lambda表达式只能实现有且只有一个抽象方法的接口,java称为“函数式接口”
约束条件:Lambda表达式只能实现有且一个抽象方法的接口,这种接口Java称为”函数式
案例:
MathOperation为一个接口,传统方式是要创建一个Addition类继承这个接口,然后再实现这个接口里的函数,在main函数中再实例化一个Addition对象,调用addition.operate(3,5);才能达到如下图一样的目的。
@FunctionalInterface
public interface MathOperation {
float operator(int a, int b);
}
class ILambdaTest {
@Test
void testLambdaOperator() {
// 标准写法
MathOperation add = (a, b) -> {
System.out.println("加法运算");
return a + b;
};
// 简洁写法
MathOperation subtruction = (a, b) -> a - b;
System.out.println("add = " + add.operator(1,3));
System.out.println("subtruction = " + subtruction.operator(1,3));
}
}