在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方法來執行相應的計算并輸出結果。