Java 1.7 里有什么?

来源:互联网 发布:知乎轩辕剑 编辑:程序博客网 时间:2024/03/28 22:50

转载地址:http://www.aqee.net/whats-up-in-java-1-7/


下面是Java 1.7 里新出现的功能的一些用法例子:

对集合的支持

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

view plain
  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"];  

对资源的自动回收管理

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

view plain
  1. BufferedReader br = new BufferedReader(new FileReader(path));  
  2. try {  
  3.     return br.readLine();  
  4. finally {  
  5.     br.close();  
  6. }  
相信你一定会喜欢下面这种写法
view plain
  1. try (BufferedReader br = new BufferedReader(new FileReader(path)) {  
  2.     return br.readLine();  
  3. }  

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

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

view plain
  1. Map<String,String> hello = new HashMap<>();  

在数字中使用下划线

view plain
  1. int billion = 1_000_000_000;  

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

对字符串进行switch case

view plain
  1. String availability = "available";  
  2. switch(availability) {  
  3.     case "available":  
  4.         //code   
  5.         break;  
  6.     case "unavailable":  
  7.         //code  
  8.         break;  
  9.     case "merged":  
  10.         //code  
  11.         break;  
  12.     default:  
  13.         //code  
  14.         break;  
  15. }  

注意:在把字符串传进Switch case之前,别忘了检查字符串是否为Null。

二进制符号

你可用作二进制字符前加上 0b 来创建一个二进制类型。

view plain
  1. int binary = 0b1001_1001;  

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

view plain
  1. try {  
  2.     Here comes your code....  
  3. catch(IOException | NullPointerException | ..........) {  
  4.       
  5. }  
如果有人能说