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