java lambda表达式语法为(参数)->{语句块}或(参数)->表达式,支持无参、单参(括号可省)、多参及显式类型;单行自动返回,多行需大括号和return;必须赋值给函数式接口。

Java 中 Lambda 表达式的语法结构非常简洁,核心形式就两种:
基本格式
(参数列表)-> 表达式
或
(参数列表)-> { 语句块 }
箭头 -> 是固定分隔符,左边是参数,右边是执行逻辑。
参数部分的写法
- 无参数:必须写空括号 () -> System.out.println("Hi")
- 单个参数:括号可省略,如 s -> s.length();复杂场景建议保留括号,比如 (s) -> s.trim().toUpperCase()
- 多个参数:括号不可省,如 (x, y) -> x + y 或 (a, b) -> a.compareTo(b)
- 显式类型:可写 (String s, int n) -> s.repeat(n),但通常由编译器自动推断,不强制
方法体部分的规则
- 单行表达式:自动返回结果,无需 return 和大括号,如 x -> x * 2
- 多行逻辑:必须用大括号包裹,有返回值时需显式写 return,如 x -> { int r = x * 2; return r; }
- 无返回值(如 void 方法):单行可直接写语句,如 s -> System.out.println(s)
必须配合函数式接口使用
Lambda 本身不是独立类型,它只能赋值给只有一个抽象方法的接口(即函数式接口),例如 Runnable、Comparator、Predicate、Function 等。编译器靠接口方法签名来匹配参数和返回值类型。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











