2 回答

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