我们曾经对JDK 7中Java语言的修改提升之处有了大概的了解,包括关闭选项将从菜单中消失、对任意精度计算(arbitrary-precision arithmetic)的语言支持等等。最终的改进列表已经出炉,其中的许多改进将有助于解决Java语言的臃肿问题。这些改进包括:
简化的泛型(Simplified Generics)
在语句中,如果同左边一样的话,JDK 7提出的diamond标记法允许程序员省略右手边的通用参量(generic parameter)。
JDK以往版本:
集合文本(Collection Literals)
迟到加入的集合文本支持将有助于减小Java代码的规模,并使其更具有可读性,无需笨重的实例初始器(instance initialiser)即可创建和填入list,set和map:
自动资源管理
Josh Bloch关于建立自动资源管理设想使Java有了C++的RAII和C#的using的替代物,它消除了许多样板文件(boiler-plate)的例外处理工作,这些例外处理围绕着资源正常的创建和清除,诸如Java代码中的IO stream。这个设想带来了一个新的资源可以实现的接口:Disposable。语法try/catch/finally被扩展以允许资源在开头被指定,然后这些资源将根据完成情况被自动处理。这里有一个操作中的新语法例子:
其他改进之处
除了以上这些解决冗长问题的改进方法,JDK 7加入了对二进制整数文本(binary integer literals)的支持以及在分支语句中使用字符串文本(String literals)的功能。此外,JDK 7还将修正把变参(varargs parameter)与泛型(generic type)混淆的问题。