✅Lambda 基本语法
(parameters) -> expression
或
(parameters) -> { statements }
// 无参数
Runnable r = () -> System.out.println("Hello");// 单个参数(小括号可省略)
Consumer<String> c = s -> System.out.println(s);// 多参数 + 多语句
Comparator<Integer> comp = (a, b) -> {System.out.println("Comparing...");return Integer.compare(a, b);
};
✅常见用途
集合处理(Stream)
list.stream().filter(s -> s.length() > 3).map(String::toUpperCase).forEach(System.out::println);
线程处理
new Thread(() -> System.out.println("Running")).start();
函数式接口实现
Function<String, Integer> strLen = s -> s.length();
✅注意事项
做法 | 说明 |
---|---|
✅ 用于简洁替代匿名类 | 比如 Runnable、Comparator |
✅ 搭配 Stream 使用 | filter/map/forEach 等链式处理 |
✅ 拆分复杂逻辑为方法引用 | 提高可读性,如 MyClass::process |
✅ 小心异常处理 | Lambda 内要 catch checked exceptions |
✅ 适量使用 | 过度嵌套、复杂表达式应避免 |
写小说也写代码,左手架空世界,右手现实逻辑。
📚 欢迎来看博客,起点同笔名在写小说,欢迎来找我玩。
https://my.qidian.com/author/433910170/