跳至主要內容

Lambda表达式


Lambda表达式

介绍

Java 8 引入了 Lambda 表达式,是一种新的语言特性,可以看作是一种匿名函数,它可以被传递到方法中作为参数,或者存储在变量中以后使用。

Lambda 表达式的语法如下:

(parameter1, parameter2, ...) -> { function_body }

其中,parameter1、parameter2 等表示 Lambda 表达式的参数列表,可以是零个或多个参数;function_body 表示 Lambda 表达式的函数体,可以是一个表达式或一个代码块。

Lambda 表达式的主要特性包括:

  1. 可以被视为一种函数式接口的实现,即只有一个抽象方法的接口实现;
  2. 可以通过类型推断自动确定参数类型;
  3. 可以直接访问 final 或 effectively final 的局部变量;
  4. 可以使用方法引用来简化代码。

Lambda 表达式的使用可以简化代码,提高代码的可读性和可维护性。常见的使用场景包括集合操作、线程处理、GUI 编程等。

示例

下面是一个简单的 Lambda 表达式示例,用于实现一个接口中的抽象方法:

interface MathOperation {
   int operate(int a, int b);
}

public class LambdaExample {
   public static void main(String args[]) {
      // 使用 Lambda 表达式实现 MathOperation 接口的抽象方法
      MathOperation addition = (int a, int b) -> a + b;

      // 调用 MathOperation 接口的实现方法
      int sum = addition.operate(10, 5);
      System.out.println("10 + 5 = " + sum);
   }
}

在上述示例中,定义了一个函数式接口 MathOperation,它包含一个抽象方法 operate,该方法接收两个整数参数并返回一个整数。

接下来,在 main 方法中使用 Lambda 表达式实现了该接口中的抽象方法,实现方法使用 a + b 表达式来计算两个参数的和。

最后,调用 addition.operate(10, 5) 方法,得到结果 15,并将结果输出到控制台。

上次编辑于:
贡献者: Neil