改名換姓:意義深遠(yuǎn)的J2SE 5.0誕生史
在2004年十月J2SE 5.0發(fā)布的時(shí)候,SUN公司這樣解釋這次版本名稱不是J2SE 1.5而是J2SE 5.0的原因:“從Java誕生至今已有9年時(shí)間,而從有J2SE 算起也有5個(gè)年頭了;在這樣的背境下,將該版本號(hào)從1.5改為5.0可以更好的反映出新版的J2SE 的成熟度、穩(wěn)定性、可伸縮性、安全性?!?/P>
J2SE 的這次變更之重大和意義之深遠(yuǎn),的確也值得我們?yōu)橹寻姹咎?hào)變換到J2SE 5.0。我們?cè)倏纯碨un公司網(wǎng)站對(duì)J2SE 5.0的features描述:“通過增強(qiáng)Java平臺(tái)的力量,允許開發(fā)者更容易地使用,Java編程語(yǔ)言的這些改進(jìn)將吸引大量各種Java開發(fā)者”,這是“Java技術(shù)發(fā)展歷程的一個(gè)重要里程碑” 。從這個(gè)描述我們可以看出,J2SE 5.0最大的目標(biāo)是通過提供易用性而吸引各種開發(fā)者(當(dāng)然包括以前的C/C++開發(fā)者) ,而它對(duì)以前版本的修改并不僅僅是API的升級(jí),而且包括對(duì)Java語(yǔ)言層面的改進(jìn)。
訪問環(huán)境變量: 最初的Java語(yǔ)言有一個(gè)訪問環(huán)境變量的方法System.getenv(),但因?yàn)镴ava宣稱的”Write Once,Run AnyWhere”特性,所以在JDK1.0中去掉了這個(gè)能夠訪問平臺(tái)專有信息的方法。在J2SE 5.0中,它又來了,并有所擴(kuò)充。由此可見J2SE 5.0對(duì)編程方便性的重視程度。
泛型 J2SE 5.0提供了強(qiáng)大的泛型機(jī)制,讓程序員可以減少代碼重復(fù),這個(gè)變化應(yīng)該可以吸引小部分的C#開發(fā)人員吧。
增強(qiáng)的for循環(huán) 為了克服普通for循環(huán)的代碼臃腫特點(diǎn),J2SE 5.0提供了增強(qiáng)的for循環(huán),我們現(xiàn)在可以這樣寫一個(gè)for循環(huán):
- public void printAll(Collection< String> coll)
- {
- for(String str : coll)
- {
- System.out.println(str);
- }
- }
怎么樣?是不是簡(jiǎn)單了很多?
自動(dòng)的裝箱/拆箱 我們以前手工的做裝箱(Boxing)/拆箱(unBoxing)操作時(shí),是不是很煩?放心,J2SE 5.0提供了自動(dòng)的裝箱/拆箱操作,我們現(xiàn)在可以寫如下的代碼:
- public void boxing(int i)
- {
- ArrayList< Integer> list=new ArrayList< Integer>();
- list.add(0,i);
- System.out.println(“i的值是”+list.get(0));
- }
可變參數(shù)數(shù)目 J2SE 5.0 開始支持Varargs(不固定自變量個(gè)數(shù)),J2SE 5.0中還加入了以前拋棄的枚舉和C風(fēng)格的格式化輸出,這應(yīng)該是為了吸引以前的C開發(fā)者吧。畢竟,在C開發(fā)中枚舉和格式化輸出用的是太多了。
并發(fā) J2SE 5.0中加入了java.util.concurrent包,并向集合框架中加入了Queue接口,J2SE 5.0還為各種集合提供了并發(fā)情況下的實(shí)現(xiàn)。
Properties類增強(qiáng) 由于XML的普及性應(yīng)用,J2SE 5.0為java.util.Properties類加入了從XML文件中裝載屬性和把屬性值存儲(chǔ)到XML文件中的方法。
Annotation功能 J2SE 5.0提供了注解(annotation)/元數(shù)據(jù)(metadata)功能,相信以后的大部分應(yīng)用產(chǎn)品都將充分利用它的注解而實(shí)現(xiàn)產(chǎn)品的各種特性。
其它 J2SE 5.0還在多線程(并發(fā)機(jī)制)、安全、國(guó)際化、UI等方面進(jìn)行了大規(guī)模的變更,使得我們能夠更方便地進(jìn)行Java開發(fā)。
其實(shí),上面的這些變更,并不是我們程序員非要不可的內(nèi)容。我們完全可以通過自己的辦法來達(dá)到這些變更實(shí)現(xiàn)的功能。但J2SE 5.0的目標(biāo)就是讓我們程序員能夠更加方便地進(jìn)行開發(fā),所以,我們?cè)诨贘2SE 5.0開發(fā)時(shí),應(yīng)該能夠明顯的體會(huì)到它的易用性。
【編輯推薦】