什么是 Lambda 表达式
- 文献中把 Lambda 表达式一般称作匿名函数,语法为 (参数部分) -> 表达式部分
- 它本质上是一个函数对象
- 它可以用在那些需要将行为参数化的场景,例如 Stream API,MyBatisPlus 的 QueryWrapper 等地方
Lambda 与匿名内部类有何异同
- 它们都可以用于需要行为参数化的场景
- Lambda 表达式必须配合函数式接口使用,而匿名内部类不必拘泥于函数式接口,其它接口和抽象类也可以
- Lambda 表达式比匿名内部类语法上更加简洁
- 匿名内部类是在编译阶段由程序员编写提供,而 Lambda 表达式是在运行阶段动态生成它所需的类
- 【进阶】Lambda 中 this 含义与匿名内部类中的 this 不同