新聞中心
雖然關(guān)于Java 7閉包一直波瀾不斷,開發(fā)者們也對Java是否真的需要引入閉包存在爭議,但Oracle還是在兩天前放出了Java 7閉包的第一個版本。我們可以在測試項目中看到Java編譯器語法規(guī)則的演變。點此查看測試項目。

成都創(chuàng)新互聯(lián)是一家專注于成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)與策劃設(shè)計,臨西網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:臨西等地區(qū)。臨西做網(wǎng)站價格咨詢:18982081108
Oracle發(fā)布的最新版本有以下功能更新:
◆函數(shù)類型語法
◆函數(shù)類型的子類型
◆全面支持Lambda表達式
◆在lambda中對thrown/return類型的引用
在Oracle的更新說明中顯示,這里所提到的函數(shù)類型在默認情況下不會啟動,必須使用XDallowFunctionTypes來啟用。以下為示例:
type1,lambda表達式:
- int i1 = #()(3).(); //i1 = 3
- Integer i2 = #()(3).(); //i2 = 3
- int i3 = #(int x)( x + 1 ).(3); //i3 = 4
- int i4 = #(Number x)(x.intValue()).(new Float(3.0f)); //i4 = 3
type2
- int i1 = #(){ return 3; }.(); //i1 = 3
- Integer i2 = #(){ return 3; }.(); //i2 = 3
- int i3 = #(int x){ return x + 1; }.(3); //i3 = 4
- int i4 = #(Number x){ return x.intValue(); }.(new Float(3.0f)); //i4 = 3
關(guān)于Java閉包
支持閉包的多數(shù)語言都將函數(shù)作為第一級對象,就是說這些函數(shù)可以存儲到變量中、作為參數(shù)傳遞給其他函數(shù),最重要的是能夠被函數(shù)動態(tài)地創(chuàng)建和返回。對于Java是否應(yīng)該引入閉包特性一直存在爭議,詳細請參考《百家爭鳴 Java需要引入閉包嗎?》。去年曾報道《Java 7決定包含閉包 發(fā)布日期推遲至2010年底》的消息,在Devoxx 2009上已基本確定在Java 7中對閉包的引入。
關(guān)于Java 7閉包的詳細介紹請參考《Java 7的第一類函數(shù):學(xué)習(xí)閉包的使用》。
原文:Java 7 : Oracle pushes a first version of closures
鏈接:http://www.baptiste-wicht.com/2010/05/oracle-pushes-a-first-version-of-closures/
網(wǎng)頁名稱:Oracle推出首個Java7閉包版本
本文來源:http://www.dlmjj.cn/article/djijijh.html


咨詢
建站咨詢
