阅读量:8
在Java中,lambda表达式用于简化函数式接口的实现。lambda表达式是一个匿名函数,它没有名称,但有参数列表、函数体和可能的返回类型。Lambda表达式可以替代使用匿名内部类来实现函数式接口的实例。
lambda表达式的一般语法如下:
(parameter list) -> { lambda body }
其中,parameter list是参数列表,可以包含零个或多个参数;lambda body是lambda表达式的函数体,可以是一个表达式或一个代码块。
lambda表达式可以用于函数式接口,即只包含一个抽象方法的接口。使用lambda表达式可以更简洁地实现该接口的方法,并且可以直接在方法调用的地方传递lambda表达式作为参数。
例如,假设有一个函数式接口Calculator,定义了一个抽象方法calculate,可以使用lambda表达式来实现该接口的方法,如下所示:
interface Calculator { int calculate(int a, int b); } public class Main { public static void main(String[] args) { // 使用lambda表达式实现calculate方法 Calculator add = (a, b) -> a + b; Calculator subtract = (a, b) -> a - b; // 调用calculate方法 System.out.println(add.calculate(5, 3)); // 输出:8 System.out.println(subtract.calculate(5, 3)); // 输出:2 } }
在上面的例子中,使用lambda表达式实现了Calculator接口的calculate方法,分别实现了加法和减法运算。然后,在主方法中,通过调用calculate方法来执行相应的计算并输出结果。