看完了官方文档,总结一下新特性,防止面试的时候被问到,附官方说明地址 JDK新特性官方文档
JDK7(主要的)
1 二进制可以用来表示整数类型,用0b(0B也行,不区分大小写)开头
比如 int a=0b00000000000000000000000000000111 ;等价于以前的int a=7;
2 switch支持String类型
比如
String[] ss={"ni","wo","ta"}
for(String temp:ss)
switch(temp) {
case "ni":.....
case "wo"......
case:"ta"......
}
3可以将实现了AutoClosable接口的资源放到try的小括号里(注意不是大括号)
比如
try(.....实现了AutoClosable接口的资源) {
...............
..............
}
4一个catch可以catch多个异常(因为catch异常类型是final的,生成的2进制码会比多个catch的小)
比如
try() {
............
} catcch(ClassNotFoundException | NumberFormatException e) {
............
} finally {
............
}
5数字类型可以用下划线表示了
比如 int a=121_333______45 等价于以前的 int a=1233345
JDK8(主要的)
1 lambda表达式(支持泛型以来最大的新增特性)
lambda表达式的形式
(parameters) ->expression
比如 x ->2*x //接收一个参数,返回其2倍的值
(parameters) ->{statements;}
比如
new Thread(()->system.out.printlln("hello world")).start();
本来应该是 new Thread(new Runnable() {
@override
public void run() {
system.out.println("hello world");
}
})