函数式的优点
- 精简代码
- 提高代码效率
- 减少bug
需求场景
- 排序
- map、forEach、filter
- …
复杂逻辑用方法引用而不是lambada
// lambada
filter(users, User user -> { ... })
// 方法引用,复杂逻辑写在User类的methodName静态方法中
filter(users, User::methodName)
函数接口
1. 例子
- java.util.function包下的函数接口
- Predicate
- Consumer
- Function
- Supplier
- …
2. 任何只包含一个 抽象方法 的接口都可以被自动转换为函数接口

Comparator
- comparing()
- reverse()
- thenComparing()