Lambda的使用
Java 8 Lambda 表达式
•Lambda 表达式,也可称为闭包,它是推动Java 8 发布的最重要新特性。
•Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。
•使用Lambda 表达式可以使代码变的更加简洁紧凑。
Lambda的使用
•ambda 表达式的语法格式如下:
•(parameters) -> expression 或(parameters) ->{ statements; }
•以下是lambda表达式的重要特征:
•可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。
•可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号。
•可选的大括号:如果主体包含了一个语句,就不需要使用大括号。
•可选的返回关键字:如果主体只有一个表达式返回值则编译器会自动返回值,大括号需要指定明表达式返回了一个数值。
示例
编写一个基础的运算需求 加减乘除
不使用Lambad表达式 先写一个基础运算接口 然后写三个运算子类
使用Lambad表达式
编写基础运算接口
public interface Calculation {
public int baseCalculation(int a,int b);
}
Lambad的使用 省去子类的创建
public class CalculationTest {
public static void main(String[] args) {
CalculationTest calculationTest = new CalculationTest();
//使用Lambada 完成加减乘运算 省去声明子类 三种使用方式如下
Calculation add = (int a,int b)->a+b;
Calculation sub = (a,b)->a-b;
Calculation mul = (int a,int b)->{return a*b;};
//调用各种方法 此时需要编写一个方法用于传参
System.out.println("加法4+3="+calculationTest.op(4,3,add));
System.out.println("减法4- 3="+calculationTest.op(4,3,sub));
System.out.println("乘法4*3="+calculationTest.op(4,3,mul));
}
//编写基础运算方法
public int op(int a,int b,Calculation calculation) {
return calculation.baseCalculation(a, b);
}
}