Java 中的 Lambda 表达式是 JDK 8 中引入的一种函数式编程的特性,它可以使代码更简洁、更易读、更易维护。Lambda 表达式适用于需要使用函数式接口的地方,函数式接口是只有一个抽象方法的接口。
Lambda 表达式的基本语法如下:
(parameter_list) -> { lambda_body }
其中 parameter_list
是形参列表,lambda_body
是 Lambda 表达式的执行体。
下面是一些常见的 Lambda 表达式的应用场景:
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 表达式只能用于函数式接口,即只有一个抽象方法的接口。如果接口中有多个抽象方法,编译器会报错。
Lambda 表达式还可以使用方法引用进行简化,可以用 ::
操作符来引用一个已存在的方法。
以上是 Lambda 表达式的一些常见应用场景,Lambda 表达式可以使代码更简洁、更易读、更易维护,但也需要根据实际情况判断是否适合使用。