3 回答

TA貢獻(xiàn)146條經(jīng)驗 獲得超54個贊
我們?yōu)槭裁葱枰狶ambda表達(dá)式 ? ? ?
?? 主要有三個原因: ? ? ?
?? > 更加緊湊的代碼 ? ? ?
???? 比如Java中現(xiàn)有的匿名內(nèi)部類以及監(jiān)聽器(listeners)和事件處理器(handlers)都顯得很冗長 ? ? ?
?? > 修改方法的能力(我個人理解為代碼注入,或者有點類似JavaScript中傳一個回調(diào)函數(shù)給另外一個函數(shù)) ? ? ?
???? 比如Collection接口的contains方法,當(dāng)且僅當(dāng)傳入的元素真正包含在集合中,才返回true。而假如我們想對一個字符串集合,傳入一個字符串,只要這個字符串出現(xiàn)在集合中(忽略大小寫)就返回true。 ? ? ?
???? 簡單地說,我們想要的是傳入“一些我們自己的代碼”到已有的方法中,已有的方法將會執(zhí)行我們傳入的代碼。Lambda表達(dá)式能很好地支持這點 ? ? ?
?? > 更好地支持多核處理 ? ? ?
???? 例如,通過Java 8新增的Lambda表達(dá)式,我們可以很方便地并行操作大集合,充分發(fā)揮多核CPU的潛能。 ? ? ?
???? 并行處理函數(shù)如filter、map和reduce。
添加回答
舉報