2 回答

TA貢獻(xiàn)1873條經(jīng)驗(yàn) 獲得超9個(gè)贊
需要。
Groovy開(kāi)發(fā)人員早已熟知Java8中新引入的概念和新的語(yǔ)言結(jié)構(gòu)了。在Java新版本即將推出的增強(qiáng)特性中,有很多是Groovy在幾年前就已經(jīng)提供了的。從用于函數(shù)式編程風(fēng)格的新語(yǔ)法,到lambdas表達(dá)式、collection treaming和要把方法引用作為一等公民,Groovy開(kāi)發(fā)人員在未來(lái)編寫(xiě)Java代碼時(shí)具有先天性?xún)?yōu)勢(shì)。
閉包Closures也許是Groovy中最好的函數(shù)式編程實(shí)例了。從內(nèi)部結(jié)構(gòu)來(lái)看,Groovy中的closure只是一個(gè)函數(shù)式接口實(shí)現(xiàn)。函數(shù)式接口是指任意只需要實(shí)現(xiàn)一個(gè)方法的接口。默認(rèn)情況下,Groovy的closure實(shí)現(xiàn)了一個(gè)名為“Callable”的函數(shù)式接口,實(shí)現(xiàn)了這個(gè)接口的call方法。
你需要特別注意是,Java8為單行的lambda函數(shù)提供了隱含的返回語(yǔ)句,后來(lái)Groovy也借鑒了這個(gè)概念。
將來(lái),Groovy也會(huì)為單個(gè)抽象方法提供隱含實(shí)現(xiàn)類(lèi)似于Java 8提供的那些實(shí)現(xiàn)。這個(gè)特性使你不必完全派生出closures的具體子類(lèi)對(duì)象就可以使用實(shí)例的屬性和方法。
- 2 回答
- 0 關(guān)注
- 1023 瀏覽
添加回答
舉報(bào)