Java Lambda表达式详解与案例
简介
Lambda表达式是Java 8引入的一项新特性,允许你以匿名函数的方式编写代码。Lambda表达式提供了一种简洁而强大的方式来表示单方法接口(也称为函数式接口)的实例。
语法
Lambda表达式的基本语法如下:
(parameters) -> expression 或 (parameters) -> { statements; }
其中,箭头(->)左边的部分表示参数列表,右边的部分表示方法体。
使用场景
Lambda表达式通常用于实现函数式接口。函数式接口是指只有一个抽象方法的接口,例如`Runnable`、`Callable`等。
示例代码
示例1:使用Lambda表达式实现Runnable接口
传统的Runnable接口实现方式:
Runnable runnable = new Runnable() { @Override public void run() { System.out.println("Hello, World!"); } };
使用Lambda表达式实现Runnable接口:
Runnable runnable = () -> System.out.println("Hello, World!");
示例2:使用Lambda表达式过滤集合
假设有一个整数列表,我们希望过滤出所有的偶数:
import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; List numbers = Arrays.asList(1, 2, 3, 4, 5, 6); List evenNumbers = numbers.stream() .filter(n -> n % 2 == 0) .collect(Collectors.toList()); System.out.println(evenNumbers); // 输出: [2, 4, 6]
结论
Lambda表达式是Java 8引入的一项强大特性,它简化了代码,提高了可读性,并且使得Java在函数式编程方面有了更多的可能性。通过上面的示例,你可以看到Lambda表达式在简化代码和提高开发效率方面的优势。