CODE4FUN
甲骨文发布Java SE 7正式版

7月29日, Java SE 7正式发布! 经过与世界范围内的Java社区, Java平台历时将近五年的协作, 标准版本已经可以 下载 了.

新特性

语言特性

二进制数字表达方式

在java7中, 整形(byte, short, int, and long)可以用二进制表示, 加上前缀 0b 或者 0B 就可以了.

switch支持字符串变量

这可是期盼多年的特性. 表达式比较使用 String.equals 方法

try-with-resources 语句

在资源使用完后自动关闭. 资源是指实现了 java.lang.AutoCloseable 或者 Closeable 接口的类.\ 注意在try-with-resources中依然可以使用 catchfinally, catchfinally 会在资源关闭之后运行.

同时捕获多个异常

catch (IOException|SQLException ex) { logger.log(ex); throw ex; }

数字表达中使用下划线

泛型在创建实例时的类型引用

之前的代码 Map<String, List<String>> myMap = new HashMap<String, List<String>>(); Java7的代码 Map<String, List<String>> myMap = new HashMap<>(); 编译器可以根据声明自动推断范型的类型.

Improved Compiler Warnings and Errors When Using Non-Reifiable Formal Parameters with Varargs Methods

详细: 链接


可惜那个很酷的集合声明语法没有实现 List<String> people = {"Frank", "Mary", "Satan"}; Map<String, Integer> map = {"key" : 1}; 是不是有些动态语言的味道

闭包也没有, 可惜…