一、范型(generic)的支持
支持generic的tiger屬于較1.4及以前最大的變化之一。由于支持范型,所以以前的諸多集合類(譬如,list和map)的接口都做了比較大的變化。而Java developer們從理論上說則可以擺脫使用括號的強制轉型;使用類型安全(type-safe)的各種集合類,甚至可以寫自己的支持范型的類。
二、枚舉(enumerated)類型的支持新加入了enum關鍵字,使Java developer們可以創(chuàng)建一種新的類型——枚舉類型。并且,枚舉類型支持switch分支以及行內(nèi)(inline)的創(chuàng)建。和范型配合使用,我們可以創(chuàng)建枚舉類型的map或者set。
三、Autoboxing和Unboxing的支持現(xiàn)在tiger可以自動的把primitive type變成與之對應的object類型。Java developer們再也不用使用諸如intValue()或者new Integer()這樣的方法來把一個整型的變量變來變?nèi)チ恕?br />
四、可變長參數(shù)(vararg)的支持
以前函數(shù)參數(shù)中帶有“...”一直是C++ fans的專利,現(xiàn)在Java developer們也可以享受到其帶來的好處。
五、Annotation的支持
這是tiger帶給我們的又一偉大的功能。Java developer們現(xiàn)在可以撰寫自己的annotation(當然,tiger自身帶有annotation,一些先進的框架framework也用到annotation)來給class、method甚至package添加額外信息,這就昭示著可能單體(unit)試驗會更加輕松并且那些習慣xdoclet的同學終于可以拋棄它了。
六、for/in語句的支持
這個特性使Java developer們的代碼更小以及更酷。并且避免了不必要的類型轉換。
七、靜態(tài)import的支持
這個特性最主要的用途我想就是使Java developer們的代碼更酷了。如果搭配枚舉類型,以及printf功能可能讓你寫出類似的C風格的代碼。
八、線程方面的改進在線程方面有各種各樣的改進,最主要的有三個,添加了Excutor對象,從此Java developer們可以把線程作為一個task執(zhí)行,另外,由此,線程的寫法也有了徹底的改變;第二,添加了高等synchronizing的支持以及l(fā)ocking地加入;最后,就是原子(atomic)類型的加入。
九、其他
除了以上的主要改進以外,還有一些比較重要的修改和增強。譬如說,加入了printf方法,現(xiàn)在Java也擁有了C語言的經(jīng)典函數(shù);在Array中加入了大量的靜態(tài)方法用來操作數(shù)組和集合;加入了Queue這種數(shù)據(jù)類型和Comparator這樣一個排序接口;以及用一個StringBuilder這個類使得可以更好的處理Unicode。