Java 中的 Lambda 表达式(λ 表达式)是自 Java 8 引入的重要特性,主要用来简化代码、支持函数式编程。下面从“有什么用”和“为什么有用”两个方面说明。
以前写接口实现要用匿名内部类,代码冗长:
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("Hello");
}
}).start();
使用 Lambda 后:
new Thread(() -> System.out.println("Hello")).start();
✅ 代码更短、可读性更高
Lambda 只能用于只有一个抽象方法的接口(如 Runnable、Comparator、Function)。
Comparator<Integer> c = (a, b) -> a - b;
常见函数式接口:
RunnableCallableComparatorFunction<T, R>Predicate<T>Consumer<T>Lambda 是 Stream API 的核心:
List<Integer> list = Arrays.asList(1, 2, 3, 4);
list.stream()
.filter(x -> x % 2 == 0)
.forEach(System.out::println);
✅ 支持声明式编程,更关注“做什么”而不是“怎么做”
可以把逻辑当参数传:
public void process(List<Integer> list, Predicate<Integer> condition) {
list.stream().filter(condition).forEach(System.out::println);
}
process(list, x -> x > 2);
✅ 提高代码复用性和灵活性
parallelStream())Lambda 表达式在 JVM 中:
this 指向外部类Java Lambda 表达式用于简化代码、支持函数式编程,尤其适合事件处理、线程、集合操作和逻辑复用。
如果你愿意,我可以用对比示例或面试角度再讲一遍。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。