Java 1.7 里有什么?

本文介绍了 Java 1.7 中引入的新特性,包括简化集合创建、自动资源管理、泛型类型引用简化、数字中使用下划线、字符串进行 switch case、二进制符号、一个 catch 捕捉多种异常等。

下面是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 | ..........) {  
}

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

英文链接:What's Up in Java 1.7

转载于:https://www.cnblogs.com/hanliuzhe/archive/2012/12/20/2826583.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值