Lambda 表达式
Lambda 表达式简单使用指南(卷死队友脑细胞的方法 不管你看懂看不懂 反正我就要这么写 哈哈哈哈哈)
一、什么是 Lambda 表达式?
Lambda 表达式是 Java 8 引入的一种简洁表达函数式接口实例的写法。它让代码更简洁,更易读,尤其在集合处理和事件处理场景下非常方便。
二、Lambda 基础语法
1 | (parameters) -> expression |
示例:
1 | Runnable r = () -> System.out.println("Hello Lambda!"); |
三、常见使用场景
1. 替代匿名内部类
传统写法:
1 | new Thread(new Runnable() { |
Lambda 写法:
1 | new Thread(() -> System.out.println("Thread running")).start(); |
2. 集合排序
1 | List<String> list = Arrays.asList("apple", "banana", "orange"); |
也可以用方法引用:
1 | list.sort(String::compareTo); |
3. 过滤和遍历集合
1 | List<String> list = Arrays.asList("apple", "banana", "orange"); |
四、深入用法
1. 函数式接口
Lambda 表达式只能用于函数式接口(只有一个抽象方法的接口),比如 Runnable、Comparator、Consumer、Function 等。
2. 变量作用域
Lambda 表达式中可以访问外部的 final 或等效 final 变量,但不能修改它们。
3. 多行语句
如果 Lambda 体内有多条语句,需要用大括号包裹,并用 return 返回值(如果有返回值)。
1 | Function<Integer, Integer> square = (x) -> { |
4. 异常处理
Lambda 中如果代码可能抛异常,需要自行处理,不能直接抛出检查异常。
五、实战示例
假设有一个任务列表,需要过滤出优先级高的任务并打印:
1 | class Task { |
如果你在使用过程中有更好的实践心得,欢迎留言交流。
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.










