第42條:lambda 優(yōu)先于匿名類
代碼更簡潔,當(dāng)創(chuàng)建匿名類的時候,IDE會提示轉(zhuǎn)成 lambda。
第43條:方法引用優(yōu)先于 lambda
代碼更易懂,當(dāng) lambda 表達(dá)式可以被方法引用替換時,IDE會給提示。
第44條:堅持使用標(biāo)準(zhǔn)的函數(shù)接口
最好使用 java.util.function.Function 中提供的標(biāo)準(zhǔn)接口,盡量避免自己編寫函數(shù)接口。
第45條:謹(jǐn)慎使用 Stream
原則:代碼簡潔易懂。有些任務(wù)適合 Stream 完成,有些任務(wù)適合 for 循環(huán),而很多任務(wù)最好結(jié)合使用這兩種方法。
第46條:優(yōu)先選擇 Stream 中無副作用的函數(shù)
- 處理流應(yīng)避免使用 foreach,foreach 里面不宜進(jìn)行計算,只用于報告 Stream 計算的結(jié)果
- 充分使用 Collectors 類
第47條:Stream 要優(yōu)先用 Collection 作為返回類型
多元素的情況一般都是使用 list 或者 set,方便進(jìn)行 Stream 處理,沒什么好說的:)
第48條:謹(jǐn)慎使用 Stream 并行
盡量不要并行 Stream,除非有足夠的理由相信它能保證計算的正確性,并且能加快程序的運行速度。