如何在Java中定义lambda表达式
java 中定义 lambda 表达式的方法为:(1) 参数列表括在圆括号中;(2) 表达式由箭头后跟表达式组成;(3) 编译器可以使用类型推断或类型声明确定参数和返回值类型;(4) 实战案例中使用 lambda 表达式对数组元素求和。
Lambda 表达式是一种匿名函数,可以作为参数传递或存储在变量中。它们在 Java 8 中引入,为代码提供了更简洁、更优雅的编写方式。
语法
Lambda 表达式的基本语法如下:
(parameters) -> expression
其中:
- parameters: lambda 表达式的参数列表,用圆括号括起来。可以使用类型声明或类型推断。
- expression:lambda 表达式的函数体,用箭头(->)后跟表达式。这个表达式可以是任何有效的 Java 表达式。
类型推断
Java 编译器可以使用类型推断来确定 lambda 表达式参数和返回值的类型:
// 无类型声明 (x, y) -> x + y; // 带类型声明 (int x, int y) -> x + y; // 带类型推断 (x, y) -> { // 编译器会推断出 x 和 y 为 int,result 为 int int result = x + y; return result; };
实战案例
使用 lambda 表达式对数组中的元素求和:
int[] numbers = {1, 2, 3, 4, 5}; // 无类型声明 int sum = Arrays.stream(numbers) .reduce(0, (a, b) -> a + b); // 带类型声明 int sum = Arrays.stream(numbers) .reduce(0, (Integer a, Integer b) -> a + b); // 带类型推断 int sum = Arrays.stream(numbers) .reduce(0, (a, b) -> { int result = a + b; return result; }); System.out.println("数组元素的和为: " + sum);
输出:
数组元素的和为: 15
以上就是如何在Java中定义lambda表达式的详细内容,更多请关注其它相关文章!