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