一、Lambda 表达式的基本语法
Lambda 表达式的语法形式为:(参数列表) -> { *体 }。
例如:、// 使用 Lambda 表达式实现一个简单的函数接口Runnable runnable = () -> System.out.println("Hello, Lambda!");
runnable.run();二、Lambda 表达式的组成部分
- 参数列表:与传统*的参数列表类似,指定了输入参数的类型和名称。如果只有一个参数,且参数类型可以推断出来,可以省略参数类型和括号。如果没有参数,则使用空括号。
- 箭头符号(->):将参数列表和*体分隔开。
- *体:包含了具体的实现逻辑,可以是一条语句或多条语句组成的代码块。如果*体只有一条语句,可以省略花括号和 return 关键字。
三、Lambda 表达式的使用场景
作为函数式接口的实例:
函数式接口是只有一个抽象*的接口,可以使用 Lambda 表达式来实现函数式接口。例如,Java 8 中的java.util.function包中提供了许多常用的函数式接口,如Predicate、C*umer、Function等。 // 使用 Lambda 表达式实现 Predicate 接口
Predicate<Integer> isEven = n -> n % 2 == 0;
System.out.println(isEven.test(4)); // 输出 true作为*的参数:
可以将 Lambda 表达式作为*的参数传递,使代码更加简洁和灵活。例如,java.util.Arrays类中的sort*可以接受一个Comparator接口的实例作为参数,可以使用 Lambda 表达式来实现比较逻辑。 Integer[] numbers = {5, 3, 8, 2, 7};
Arrays.sort(numbers, (a, b) -> a - b);
System.out.println(Arrays.toString(numbers)); // 输出