第42条:lambda 优先于匿名类
代码更简洁,当创建匿名类的时候,IDE会提示转成 lambda。
第43条:方法引用优先于 lambda
代码更易懂,当 lambda 表达式可以被方法引用替换时,IDE会给提示。
第44条:坚持使用标准的函数接口
最好使用 java.util.function.Function 中提供的标准接口,尽量避免自己编写函数接口。
第45条:谨慎使用 Stream
原则:代码简洁易懂。有些任务适合 Stream 完成,有些任务适合 for 循环,而很多任务最好结合使用这两种方法。
第46条:优先选择 Stream 中无副作用的函数
- 处理流应避免使用 foreach,foreach 里面不宜进行计算,只用于报告 Stream 计算的结果
- 充分使用 Collectors 类
第47条:Stream 要优先用 Collection 作为返回类型
多元素的情况一般都是使用 list 或者 set,方便进行 Stream 处理,没什么好说的:)
第48条:谨慎使用 Stream 并行
尽量不要并行 Stream,除非有足够的理由相信它能保证计算的正确性,并且能加快程序的运行速度。