Java 中的 Lambda 表達式是 JDK 8 中引入的一種函數(shù)式編程的特性,它可以使代碼更簡潔、更易讀、更易維護。Lambda 表達式適用于需要使用函數(shù)式接口的地方,函數(shù)式接口是只有一個抽象方法的接口。
Lambda 表達式的基本語法如下:
(parameter_list) -> { lambda_body }
其中 parameter_list
是形參列表,lambda_body
是 Lambda 表達式的執(zhí)行體。
下面是一些常見的 Lambda 表達式的應(yīng)用場景:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
numbers.forEach((Integer number) -> System.out.println(number));
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
numbers.forEach(number -> System.out.println(number));
List<Integer> numbers = Arrays.asList(3, 1, 4, 2, 5);
Collections.sort(numbers, (a, b) -> a - b);
new Thread(() -> {
System.out.println("Thread is running");
}).start();
需要注意的是,Lambda 表達式只能用于函數(shù)式接口,即只有一個抽象方法的接口。如果接口中有多個抽象方法,編譯器會報錯。
Lambda 表達式還可以使用方法引用進行簡化,可以用 ::
操作符來引用一個已存在的方法。
以上是 Lambda 表達式的一些常見應(yīng)用場景,Lambda 表達式可以使代碼更簡潔、更易讀、更易維護,但也需要根據(jù)實際情況判斷是否適合使用。