JDK7新特性
今天花了点时间研究了下JDK7新特性,JDK7与JDK6及之前的版本对比,还是做了许多改进,下面一一列举:
1、二进制字面量
JDK7开始,终于可以用二进制来表示整数(byte,short,int和long)。语法非常简单,只要在二进制数值前面加 0b或者0B
例子:
1.int nInt = 0b0011;
2.long nLong = 0b0100L;
作为一个J2EE开发者,个人觉得还是使用原先的整形表示更一目了然。
2、数字字面量可以出现下划线
对于一些比较大的数字,我们定义起来总是不方面,经常缺少或者增加位数。JDK7为我们提供了一种解决方案,下划线可以出现在数字字面量。
例子:
int a = 10_0000_0000;
注意:只能将下划线置于数字之间,以下使用方法是错误的,
1.数字的开头或者结尾,如:int err1 = _11,err2=11_;
2.小数点的前后,如:float err3=3._4,err4=3_.4;
3.‘F’或者‘f’的后缀
4.只能用数字的位置
3、switch 语句可以用字符串了
众所周知,switch只能支持整型或字符型变量,有时我们编码过程中遇到类似的分支结构,却因为分支判断是字符串而无法使用switch语句,而使用大量的if else if语句,代码的可读性极差。
JDK7对switch功能进行了扩展,支持字符串。
例子:
4、泛型实例的创建可以通过类型推断来简化
例子:
JDK6
List<String> tempList = new ArrayList<String>();
Map<String,String> tempMap = new HashMap<String,String>();
JDK7
Map<String,String> tempMap = new HashMap<>();
List<String> tempList = new ArrayList<>();
5、try-with-resources 语句
提供了try-with-resources,可以自动关闭相关的资源(只要该资源实现了AutoCloseable接口,jdk7为绝大部分资源对象都实现了这个接口。
例子:
6、Catch多个Exception
JDK允许一个Catch语句包含多个Exception,增加了代码的整洁性。
例子:
JDK6
JDK7