Java Lambda 表达式
·
一、什么是 Lambda?
Lambda 是 Java 8 引入的语法糖,用于简化匿名内部类写法。
一句话理解:
✅ 用更少的代码定义一个函数式行为。
二、传统写法 vs Lambda 写法
传统匿名类:
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("Hello Thread");
}
}).start();
Lambda 优化:
new Thread(() -> System.out.println("Hello Thread")).start();
三、语法结构
(parameters) -> { expression or statements }
示例:
(int x, int y) -> x + y
(name) -> System.out.println("Hi, " + name)
() -> 42
四、配合函数式接口使用
Lambda 只能用于函数式接口(只包含一个抽象方法的接口)。
常见接口:
| 接口名 | 参数 | 返回值 | 作用 |
|---|---|---|---|
Runnable |
无 | 无 | 线程任务 |
Consumer<T> |
T | 无 | 消费型操作 |
Supplier<T> |
无 | T | 供给型 |
Function<T,R> |
T | R | 转换 |
Predicate<T> |
T | boolean | 条件判断 |
示例:
List<String> list = List.of("Java", "Python", "C++");
list.forEach(item -> System.out.println(item));
五、小结
- ✅ Lambda 能让代码更简洁
- ✅ 结合 Stream、Optional 可写出更函数式的风格
- ⚠️ 不要滥用,复杂逻辑应保留方法定义
更多推荐

所有评论(0)