(转载)Java 1.7的新特性

网上找了一下,整理了贴出来。

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

对集合的支持

摒弃了 Java 集合接口的实现类,如: ArrayList 、 HashSet 和 HashMap 。而是直接采用 [] 、 {} 的形式存入对象,采用 [] 的形式按照索引、键值来获取集合中的对象,创建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"];

 

 

对资源的自动回收管理

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

 

BufferedReader br = new BufferedReader(new FileReader(path));try {   return br.readLine();} finally {   br.close();}

 

 

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

 

        try (BufferedReader br = new BufferedReader(new FileReader(path)) {   return br.readLine();}

 

 

 

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

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

 

Map<String,String> hello = new Map<>();

 

 

在数字中使用下划线

 

        int 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 case之前,别忘了检查字符串是否为null。

 

 

二进制符号

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

int binary = 0b1001_1001;

 

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

 

            try {//Here comes your code....} catch(IOException || NullPointerException || ..........) {}

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

上文是从 What’s Up in Java 1.7 这篇文章翻译而来,下文是另找的:

 

语法上支持集合,而不一定是数组

 

        final List piDigits = [ 1,2,3,4,5,8 ]; 

 

 

新增一些取环境信息的工具方法

 

File System.getJavaIoTempDir() // IO临时文件夹 File System.getJavaHomeDir() // JRE的安装目录 File System.getUserHomeDir() // 当前用户目录 File System.getUserDir() // 启动java进程时所在的目录 ....... 

 

 

Boolean类型反转,空指针安全,参与位运算 

Boolean Booleans.negate(Boolean booleanObj) //True => False , False => True, Null => Null boolean Booleans.and(boolean[] array) boolean Booleans.or(boolean[] array) boolean Booleans.xor(boolean[] array) boolean Boolean...

------------------------------------------------------------------------------

1、对集合的支持:摒弃了 Java 集合接口的实现类,而是直接采用 [] 、 {} 的形式存入对象,采用 [] 的形式按照索引、键值来获取集合中的对象,创建List / Set / Map 时写法更简单了。
2、对资源的自动回收管理
3、泛型实例创建过程中类型引用的简化
4、对字符串进行switch case
5、在数字中使用下划线
6、二进制符号,你可用作二进制字符前加上 0b 来创建一个二进制类型。
7、一个catch里捕捉多个异常类型
8、语法上支持集合,而不一定是数组,如:final List piDigits = [ 1,2,3,4,5,8 ];
9、新增一些取环境信息的工具方法
10、Boolean类型反转,空指针安全,参与位运算
11、两个char间的equals
12、安全的加减乘除
13、希望对你有帮助!
posted @ 2014-03-25 10:43  kin2321  阅读(226)  评论(0编辑  收藏  举报