Android培訓(xùn),安卓培訓(xùn),手機(jī)開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

Lambda 是啥玩意

簡(jiǎn)單來(lái)說(shuō),Lambda 就是一個(gè)匿名的方法,就這樣,沒(méi)啥特別的。它采用一種非常簡(jiǎn)潔的方式來(lái)定義方法。當(dāng)你想傳遞可復(fù)用的方法片段時(shí),匿名方法非常有用。例如,將一個(gè)方法傳遞給另外一個(gè)方法。

Tips
其實(shí)很多主流語(yǔ)言早已支持 lambda 表達(dá)式,例如,Scala,C#,Objective-C,Ruby,C++(11), Python等等。所以也不是啥新玩意兒。

匿名方法 VS 匿名類

需要謹(jǐn)記一點(diǎn),在 Java 里,匿名方法和匿名類并不是相同的。匿名類仍然需要實(shí)例化對(duì)象,匿名類雖然沒(méi)有明確的名字,但它只有是一個(gè)對(duì)象時(shí)才能夠使用。
而匿名方法并不需要給它分配實(shí)例,方法與作用的數(shù)據(jù)分離,而對(duì)象與它所作用的數(shù)據(jù)密切相關(guān)。

Java 中的 Lambda 表達(dá)式

在 Java 8之前,一個(gè)實(shí)現(xiàn)了只有一個(gè)抽象方法的接口的匿名類看起來(lái)更像Lambda 表達(dá)式。下面的代碼中,

網(wǎng)友評(píng)論