下面是Java 1.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
};
int
value = map[
"key"
];
|
对资源的自动回收管理
下面的代码看起来有点麻烦 … 不是吗
1
2
3
4
5
6
|
BufferedReader br =
new
BufferedReader(
new
FileReader(path));
try
{
return
br.readLine();
}
finally
{
br.close();
}
|
相信你一定会喜欢下面这种写法
1
2
3
|
try
(BufferedReader br =
new
BufferedReader(
new
FileReader(path)) {
return
br.readLine();
}
|
泛型实例创建过程中类型引用的简化
当声明你的对象的接口是,你肯定是不想重复指明泛型类型
看看下面的这种写法多好呀…
1
|
Map<String,String> hello =
new
HashMap<>();
|
在数字中使用下划线
1
|
int
billion = 1_000_000_000;
|
我不知道这个能有多少用处
对字符串进行switch case
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
String availability =
"available"
;
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
2
3
4
5
|
try
{
Here comes your code....
}
catch
(IOException | NullPointerException | ..........) {
}
|
如果有人能说出更多的新特征,那就更好了。我相信里面有更多的很酷的新东西。