如何在Java中定义lambda表达式

java 中定义 lambda 表达式的方法为:(1) 参数列表括在圆括号中;(2) 表达式由箭头后跟表达式组成;(3) 编译器可以使用类型推断或类型声明确定参数和返回值类型;(4) 实战案例中使用 lambda 表达式对数组元素求和。

如何在Java中定义lambda表达式

如何在 Java 中定义 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表达式的详细内容,更多请关注www.sxiaw.com其它相关文章!