Java 1.7 里有什么?

来源:互联网 发布:迪路兽的神圣尾戒 知乎 编辑:程序博客网 时间:2024/06/09 19:53

对集合的支持

创建List / Set / Map 时写法更简单了。

1List< String> list = ["item"]; 
2String item = list[0]; 
3Set< String > set = {"item"}; 
4Map< String,Integer > map = {"key": 1}; 
5int value = map["key"]; 

对资源的自动回收管理

下面的代码看起来有点麻烦 … 不是吗

1BufferedReader br = newBufferedReader(new FileReader(path)); 
2try
3   returnbr.readLine(); 
4} finally
5   br.close(); 
6

相信你一定会喜欢下面这种写法

1try (BufferedReader br =new BufferedReader(newFileReader(path)) { 
2   returnbr.readLine(); 
3

泛型实例创建过程中类型引用的简化

当声明你的对象的接口是,你肯定是不想重复指明泛型类型
看看下面的这种写法多好呀…

1Map<String,String> hello = newHashMap<>(); 

在数字中使用下划线

1int billion = 1_000_000_000;

我不知道这个能有多少用处

对字符串进行switch case

1String availability = "available"
2switch(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 来创建一个二进制类型。

1int binary = 0b1001_1001;

一个catch里捕捉多个异常类型

1try
2Here comes your code.... 
3
4catch(IOException | NullPointerException | ..........) { 
5

如果有人能说出更多的新特征,那就更好了。我相信里面有更多的很酷的新东西。