下面是Java 1.7 里新出现的功能的一些用法例子:
对集合的支持
创建List / Set / Map 时写法更简单了。
1 |
List<
String> list = [ "item" ]; |
2 |
String
item = list[ 0 ]; |
3 |
Set<
String > set = { "item" }; |
4 |
Map<
String,Integer > map = { "key" : 1 }; |
5 |
int value
= map[ "key" ]; |
对资源的自动回收管理
下面的代码看起来有点麻烦 … 不是吗
1 |
BufferedReader
br = new BufferedReader( new FileReader(path)); |
2 |
try { |
3 |
return br.readLine(); |
4 |
} finally { |
5 |
br.close(); |
6 |
} |
相信你一定会喜欢下面这种写法
1 |
try (BufferedReader
br = new BufferedReader( new FileReader(path))
{ |
2 |
return br.readLine(); |
3 |
} |
泛型实例创建过程中类型引用的简化
当声明你的对象的接口是,你肯定是不想重复指明泛型类型
看看下面的这种写法多好呀…
1 |
Map<String,String>
hello = new HashMap<>(); |
在数字中使用下划线
1 |
int billion
= 1_000_000_000; |
我不知道这个能有多少用处
对字符串进行switch case
1 |
String
availability = "available" ; |
2 |
switch (availability)
{ |
3 |
case "available" : |
4 |
//code |
5 |
break ; |
6 |
7 |
case "unavailable" : |
8 |
//code |
9 |
break ; |
10 |
11 |
case "merged" : |
12 |
//code |
13 |
14 |
default : |
15 |
//code |
16 |
break ; |
17 |
} |
注意:在把字符串传进Switch case之前,别忘了检查字符串是否为Null。
二进制符号
你可用作二进制字符前加上 0b 来创建一个二进制类型。
1 |
int binary
= 0b1001_1001; |
一个catch里捕捉多个异常类型
1 |
try { |
2 |
Here
comes your code.... |
3 |
} |
4 |
catch (IOException
| NullPointerException | ..........) { |
5 |
} |
如果有人能说出更多的新特征,那就更好了。我相信里面有更多的很酷的新东西。
来源:http://www.aqee.net/whas-up-in-java-1-7/