指定太多的方法:
在類中使用注解而不是在接口:
Lambda 表達式可用于任意只包含單個抽象方法的接口中,但是不能用于滿足該要求的抽象類??此撇环线壿?,但實際要求必須如此。
Streams
Stream API 是Java 8的另一大賣點, 我認(rèn)為到現(xiàn)在為止,我們?nèi)匀徊恢肋@會對我們的編碼方式有多大改變.但我發(fā)現(xiàn)這是一個好壞參半的功能。
流式風(fēng)格
就我個人而言,更喜歡使用流式風(fēng)格.當(dāng)然你不必也這么做, 但我發(fā)現(xiàn)它幫助了我:
- 一眼就能看出有哪些操作,它的執(zhí)行順序是什么
- 更方便調(diào)試(雖然IntelliJ IDEA提供了 在包含lambda表達式的行上設(shè)置斷點的能力 ,為了更方便調(diào)試,把它拆分到不同的行上)
- 在測試的時候允許取消一個操作
- 在調(diào)試或測試是,可以很方便的插入peek()


使用方法引用
是的,你需要一點時間來適應(yīng)這個奇怪的語法。但如果使用恰當(dāng),真的可以提升代碼的可讀性,看看下面代碼:
以及使用 Objects
類的輔助方法:
后面一段代碼更加的明確可讀。IntelliJ IDEA 通常會知道怎么將一個 Lambda 表達式進行折疊。