在此次JDK14中,共更新了16个特性,下面对其中的六个主要的新特性做介绍。JDK14官方说明
主要七大特性
一.模式匹配instanceof(预览特性):
使用 instanceof,省去了在内部的类型转换,如下代码。
//新特性之前
@Test
public void test1(){
Object obj=new String("hello,before JavaJdk14");
if (obj instanceof String){
String str =(String)obj; //必须显示的声明强制类型转换
System.out.println(str.contains(("Java")));
}else {
System.out.println("非String类型");
}
}
//使用新特性
@Test
public void test2(){
Object obj=new String("hello,JavaJdk15");
if (obj instanceof String str){
//新特性,省去了强制类型转换的过程
System.out.println(str.contains(("Java")));
}else {
System.out.println("非String类型");
}
}
二.实用的NullPointerException:
功能:在之前的JDK版本中出现空指针异常只会报错误,在JDK14中优化了这部分,将空指针具体出现地方表现出来。
NullPointerExceptionTest类
public class NullPointerExceptionTest {
public static void main(String[] args) {
String test=null;
test.equals("abc");
}
}
JDK14前出现的异常方式
Exception in thread "main" java.lang.NullPointerException
at NullPointerExceptionTest.main(NullPointerExceptionTest.java:8)
JDK14后出现的异常方式
Exception in thread "main" java.lang