下面是Java 7裡新出現的功能的一些用法例子:
對集合的支援
建立List / Set / Map 時寫法更簡單了。
1 2 3 4 5 |
List< String> list = [item]; String item = list[0]; Set< String > set = {"item"}; Map< String,Integer > map = {"key" : 1}; nt value = map[key]; |
對資源的自動回收管理
下面的程式碼看起來有點麻煩…不是嗎
1 |
1 |
BufferedReader br = new BufferedReader(new FileReader(path)); |
1 2 3 4 5 |
try { return br.readLine(); } finally { br.close(); } |
相信你一定會喜歡下面這種寫法
1 |
1 |
try (BufferedReader br = new BufferedReader(new FileReader(path)){ |
1 2 |
return br.readLine(); } |
泛型例項建立過程中型別引用的簡化
當宣告你的物件的介面是,你肯定是不想重複指明泛型型別
看看下面的這種寫法多好呀…
1 |
Map hello = new Map<>(); |
在數字中使用下劃線
1 |
int billion = 1_000_000_000; |
我不知道這個能有多少用處
對字串進行switch case
1 |
1 |
String availability = "available"; |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
switch(availability){ case "available": //code break; case "unavailable": //code break; case "merged": //code default: //code break; } |
注意:在把字串傳進Switch case之前,別忘了檢查字串是否為Null。
二進位制符號
你可用作二進位制字元前加上 0b 來建立一個二進位制型別。
1 |
int binary = 0b1001_1001 |
一個catch裡捕捉多個異常型別
1 |
1 2 |
<string,string> try { |
1 2 3 4 |
Here comes your code.... } catch(IOException NullPointerException ..........){ } |
如果有人能說出更多的新特徵,那就更好了。我相信裡面有更多的很酷的新東西。
譯文:外刊IT評論
原文:What’s Up in Java 1.7