java jdk7与8的区别_jdk1.7与jdk1.8之间的区别
1二进制变量的表示,支持将整数类型用二进制来表示,用0b开头。
所有整数int、short、long、byte都可以用二进制表示:
byte aByte = (byte) 0b00100001;
2 Switch语句支持String类型。
3、Catch多个异常:
在Java 7中,catch代码块得到了升级,用以在单个catch块中处理多个异常。如果你要捕获多个异常并且它们包含相似的代码,使用这一特性将会减少代码重复度。下面用一个例子来理解。
catch(IOException | SQLException |Exception ex){
logger.error(ex);throw newMyException(ex.getMessage());
}
4、泛型实例的创建可以通过类型推断来简化 可以去掉后面new部分的泛型类型,只用<>就可以了。
5、
6、接口的默认和静态方法:
Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法。
public interfaceJDK8Interface {//static修饰符定义静态方法
static voidstaticMethod() {
System.out.println("接口中的静态方法");
}//default修饰符定义默认方法
default voiddefaultMethod() {
System.out.println("接口中的默认方法");
}
}
7、Annotation 注解:支持多重注解:
@YourAnnotation
@YourAnnotationpublic voidtest(){//TODO
}
8、Stream API是把真正的函数式编程风格引入到Java中。
9、Java 8引入Optional类来防止空指针异常
参考:
https://www.cnblogs.com/aspirant/p/8617201.html
1二进制变量的表示,支持将整数类型用二进制来表示,用0b开头。 所有整数int、short、long、byte都可以用二进制表示: byte aByte = (byte) 0b00100001; 2 Switch语句支持String类型。 3、Catch多个异常: 在Java 7中,catch代码块得到了升级,用以在单个catch块中处理多个异常。如果你要捕获多个异常并且它们包含相似的代码,使用这一特性将会减少代码重复度。下面用一个例子来理解。 catch(IOException | SQLException |Exception ex){ logger.error(ex);throw newMyException(ex.getMessage()); } 4、泛型实例的创建可以通过类型推断来简化 可以去掉后面new部分的泛型类型,只用<>就可以了。 5、 6、接口的默认和静态方法: Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法。 public interfaceJDK8Interface {//static修饰符定义静态方法 static voidstaticMethod() { System.out.println("接口中的静态方法"); }//default修饰符定义默认方法 default voiddefaultMethod() { System.out.println("接口中的默认方法"); } } 7、Annotation 注解:支持多重注解: @YourAnnotation @YourAnnotationpublic voidtest(){//TODO } 8、Stream API是把真正的函数式编程风格引入到Java中。 9、Java 8引入Optional类来防止空指针异常 参考: https://www.cnblogs.com/aspirant/p/8617201.html