1.范型(Generics)
這個(gè)經(jīng)過漫長等待后被加入到類型系統(tǒng)中的特性,允許一個(gè)類型或方法操作不同類型的對象,并提供編譯期的類型安全。他加編譯期類型安全到集合構(gòu)架中,并且省去轉(zhuǎn)換的工作。看Java學(xué)習(xí)指南中的Generics課程。(JSR 14)
2.增強(qiáng)的for循環(huán)(Enhanced for Loop)
這個(gè)新語言結(jié)構(gòu)消除了在迭代集合和數(shù)組時(shí),使用iterators和索引變量的潛在錯(cuò)誤和轉(zhuǎn)換工作。(JSR 201)
3.自動(dòng)裝箱和拆箱(Autoboxing/Unboxing)
這個(gè)便利工具消除了在簡單類型(如,int)和包裝類型(如,Integer)間手動(dòng)轉(zhuǎn)換的工作。(JSR 201)
4.類型安全的枚舉(Typesafe Enums)
這個(gè)靈活的面向?qū)ο蟮拿杜e類型工具允許你創(chuàng)建包含任意方法和屬性的枚舉類型。他提供了類型安全枚舉模式(Effective Java, Item 21)所有好處,并去除了冗長及可能潛在的錯(cuò)誤。(JSR 201)
5.可變參數(shù)(Varargs)
當(dāng)調(diào)用接收可變長變量的參數(shù)列表時(shí),需要將參數(shù)列表組裝成數(shù)組。這個(gè)便利工具消除了這些工作。
6.靜態(tài)導(dǎo)入(Static Import)
這個(gè)便利工具使你避免用類名來限定靜態(tài)元素,從而規(guī)避了"常量接口反模式"的缺點(diǎn)。(JSR 201)
7.注解(Annotations [Metadata])
這個(gè)語言特性,授權(quán)工具從源代碼中的注解產(chǎn)生樣板代碼,讓你在許多情況下避免寫樣板代碼。這引導(dǎo)了出一種"聲明式"編程方式,在這種方式中程序員告訴他應(yīng)該如何被完成,由工具來生成代碼并完成他。他同時(shí)也消除了將輔助文件與源代碼文件保持同步更新的一些工作。替代的工作是這些信息可以被維護(hù)在源代碼文件中。(JSR 175)
NOTE:@Deprecated注解提供了一種方式來標(biāo)識不建議使用的程序元素。參見:什么情況下,怎么樣來廢棄APIs(How and When To Deprecate APIs)。