`
yajie
  • 浏览: 206401 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

java 1.7里有什么?

阅读更多

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

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

2
2
分享到:
评论
1 楼 llty 2011-10-06  
悲剧  点错了 。

相关推荐

Global site tag (gtag.js) - Google Analytics