下面是Java 1.7 里新出现的功能的一些用法例子:
对集合的支持
创建List / Set / Map 时写法更简单了。
List
<
String
>
list
=
[
"
item
"
];
String item = list[ 0 ];
Set < String > set = { " item " };
Map < String,Integer > map = { " key " : 1 };
int value = map[ " key " ];
String item = list[ 0 ];
Set < String > set = { " item " };
Map < String,Integer > map = { " key " : 1 };
int value = map[ " key " ];
对资源的自动回收管理
下面的代码看起来有点麻烦 … 不是吗?
BufferedReader br
=
new
BufferedReader(
new
FileReader(path));
try {
return br.readLine();
} finally {
br.close();
}
try {
return br.readLine();
} finally {
br.close();
}
相信你一定会喜欢下面这种写法。
try
(BufferedReader br
=
new
BufferedReader(
new
FileReader(path)) {
return br.readLine();
}
return br.readLine();
}
泛型实例创建过程中类型引用的简化
当声明你的对象的接口是,你肯定是不想重复指明泛型类型。
看看下面的这种写法多好呀…
Map
<
String,String
>
hello
=
new
Map
<>
();
1Map hello = new Map<>();
在数字中使用下划线
int
billion
=
1_000_000_000;
1int billion = 1_000_000_000;
我不知道这个能有多少用处。
对字符串进行switch case
String availability
=
"
available
"
;
switch (availability) {
case " available " : // code break;
case " unavailable " : // code break;
case " merged " : // code default: // code break;
}
switch (availability) {
case " available " : // code break;
case " unavailable " : // code break;
case " merged " : // code default: // code break;
}
注意:在把字符串传进Switch case之前,别忘了检查字符串是否为Null。
二进制符号
你可用作二进制字符前加上 0b 来创建一个二进制类型。
int
binary
=
0b1001_1001;
一个catch里捕捉多个异常类型
try
{
Here comes your code....}
catch (IOException | NullPointerException | ..........) {
Here comes your code....}
catch (IOException | NullPointerException | ..........) {
}
转载于:https://blog.51cto.com/upupxjg/622622