2.1 了解匿名函数
? Lambda是一个匿名函数,可以理解为一段可以传递的代码(将代码像数据一样传递);可以写出更简洁、更灵活的代码;作为一种更紧凑的代码风格,是Java语言表达能力得到提升。
2.2 匿名内部类
提取核心代码,转换为lambda表达式,很简洁,下面是引入两个例子
例子2:
出现大量的冗余代码,找形似,提取
优化方式一:策略设计模式,(把代码封装到一个接口,每次比较实现一个类来具体代码)
优化方式二:匿名内部类,更简单,不创建了类
优化方式三:Lambda 表达式
垃圾代码 --> 策略模式 --> 匿名内部类 --> Lambda表达式-->Stream API
2.3 Lambda
java 8引入了新的操作符 -> 称为箭头操作符 或Lambda 操作符
注意
1.基础语法
操作符:->
左侧:参数列表(接口的)
右侧:执行代码块 / Lambda 体(对接口实现的功能)
2.口诀:
- 写死小括号,拷贝 右箭头,落地大括号
- 左右遇一括号省 ( 左一个参数省 (),右一条语句省 {} )
- 左侧推断类型省 (类型可以JVM 自动推断)
3.语法格式:
4. 自己写接口测试
5.解决问题
*调用 Collections.sort() 方法,通过定制排序 比较两个 Employee (先按照年龄比,年龄相同按照姓名比),使用 Lambda 表达式作为参数传递