当前位置: 首页 > 图灵资讯 > 技术篇> 如何在Java中定义lambda表达式

如何在Java中定义lambda表达式

来源:图灵教育
时间:2024-09-12 10:07:12

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

如何在Java中定义lambda表达式

如何在 Java 中定义 Lambda 表达式

Lambda 表达式是一种匿名函数,可以作为参数传输或存储在变量中。它们在那里 Java 8 介绍,为代码提供了更简洁、更优雅的写作方法。

语法

立即学习“Java免费学习笔记(深入);

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表达式的详细内容,请关注图灵教育的其他相关文章!