1.二進制常量(Binary Literals)
在Java SE 7中,整型(byte, short, int和long)也可以使用二進制計數方式來表示。為了指定二進制常量,需要為數字增加一個0b或0B的前綴。
2.應用于數值常量的下劃線(Underscores in Numeric Literals)
帶下劃線的任意數字,可以出現在數值常量的任意數字之間。利用這個特性,你可以將數值劃分成不同的數字組,這樣可以增加代碼的可讀性。
3.switch語句中支持String值 (Strings in Switch Statements)
在switch語句的表達式中可以使用String類型。
4.范型對象創建時支持類型推導(Type Inference for Generic Instance Creation)
由于編譯器可以根據上下文推導出類型參數,所以可以使用空類型參數(<>)替換在調用范型類型構造函數時所要求的類型參數。
5.改進了在支持可變參數的方法中使用非具體(Non-Refiable,如通過類型參數指定)的形參時,出現的編譯器警告和錯誤(Improved Compiler Warnings and Errors When Using Non-Reifiable Formal Parameters with Varargs Methods)
使用非具體的形式參數聲明可變參數的方法或構造函數時,Java SE 7編譯器會在聲明的地上給出一個警告信息。Java SE 7引入了編譯器選項-Xlint:varargs和注解@SafeVarargs和@SuppressWarnings({"unchecked", "varargs"})來禁止警告。
6.增加try-with-resources語句(The try-with-resources Statement)
try-with-resources語句是一個聲明了一個或多個資源的try語句。資源是指在程序使用完成后必須關閉的一個對象。try-with-resources語句確保每個資源在該語句結束后被關閉。任何實現java.io.Closeable接口和新java.lang.AutoCloseable接口的對象,可以被看作一種資源。java.io.Inputstream,OutputStream,Reader,Writer,java.sql.Connection,Statement,ResultSet類被重新實現,并實現了AutoCloseable接口。以上提到這些類,也可以被用作是try-with-resources語句中的一種資源。
7.支持捕獲多個異常,使用改進的類型檢測重新拋出異常(Catching Multiple Exception Types and Rethrowing Exceptions with Improved Type Checking)
一個單catch塊可以處理多種類型的異常。此外,編譯器相比之前的實現版本,對重新拋出的異常分析的更準確。你使你可以在一個方法聲明的throws語句中指定多個特定異常類型。