Java7新特性
说是Java7的新特性太大了,其实想说的只是它的语法特性。
我们平时学习接触的资料多是Java7之前的,在Java7中加入了几个方便大家使用的新语法,下面简单介绍一下。
1, 泛型类进行时不用繁琐地将泛型声明再一遍了,其实想想后面重写一遍泛型类型也是多余,只不过是对前面类型的重复。直接看新语法:
//在new的时候不用再写一次String了
List<String> strList = new ArrayList<>();
Map<String, List> map = new HashMap<>();
2, 关闭资源方面有了很好的新语法。在try后直接打开资源,然后可以在try,catch后会自动关闭资源,而不用在finally里写一大坨繁杂而无用的代码。看新语法。
try (
//在此放心打开资源,会自动关闭的
FileOutputStream fos = new FileOutputStream("movies.txt");
DataOutputStream dos = new DataOutputStream(fos)
<span style="white-space:pre"> </span>) {
<span style="white-space:pre"> </span>dos.writeUTF("Java 7 Block Buster");
} catch (IOException e) {
<span style="white-space:pre"> </span>// log the exception
}
3, Switch可以接受String类型,而不像以前只能接受int或者枚举类型的。
这也算老语言的新生吧。来看例子:
String cpu = "intel";
switch (cpu) {
case "intel":
System.out.println("intel");
break;
case "AMD" :
System.out.println("AMD");
break;
default :
System.out.println("不知道");
break;
}
4, 在try,catch中不用再一层层的catch,可以一次性处理完,举个栗子;
try {
aMethod();
} catch (ExceptionOne | ExceptionTwo | ExceptionThree e) {
// log and deal with all Exceptions
}
5, 数值可以用下划线分隔开,看下面
//大大方便读代码
System.out.println(1_000_0);
现在Java8还没有得到很多,以后再小记一点