在 Java 中,Lambda 表达式(Lambda) 是 Java 8 引入的重要特性,主要作用是简化代码、支持函数式编程,让 Java 更好地适应现代开发需求。下面从作用、优势、使用场景几个方面说明。
以前:
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("Hello");
}
}).start();
使用 Lambda:
new Thread(() -> System.out.println("Hello")).start();
✅ 代码更短、可读性更高
Lambda 让方法可以作为参数传递,这是函数式编程的核心思想。
List<Integer> list = Arrays.asList(1, 2, 3);
list.forEach(n -> System.out.println(n));
Lambda 是 Stream 的基础,用于过滤、映射、聚合等操作。
List<String> names = Arrays.asList("Tom", "Jerry", "Alice");
names.stream()
.filter(n -> n.startsWith("A"))
.forEach(System.out::println);
✅ 减少循环代码
✅ 逻辑更清晰
Lambda 只能用于只有一个抽象方法的接口(函数式接口)
常见函数式接口:
| 接口 | 作用 |
|---|---|
| Runnable | 无参无返回值 |
| Callable | 有返回值 |
| Comparator | 比较 |
| Function<T,R> | 输入 → 输出 |
| Predicate |
判断 |
| Consumer |
消费 |
Lambda 本质是:
一个匿名函数,被绑定到函数式接口的实例
JVM 在运行时:
.class 文件invokedynamic 提高性能✅ 线程(Runnable / Callable)
✅ 集合遍历(forEach)
✅ 排序(Comparator)
✅ 事件监听
✅ Stream 数据处理
✅ 策略模式简化
Java Lambda 的作用是:用更简洁的方式实现函数式接口,让代码更短、更灵活、更易读。
如果你愿意,我也可以:
你想深入哪一块?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。