如何进行Java14 增强 instanceOf 类型的推断

这篇文章给大家介绍如何进行Java14 增强 instanceOf 类型的推断,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

Java中instanceof是用来判断对象的类型是否是目标类型。如果是返回true,不是返回false。

在Java 14之前,示例如下:

if (obj instanceof String) {
    String str = (String) obj; 
    str.contains("A") ;
}else{
     str = "";
}
 

obj instanceof String已经为true,在后面的代码里,我们还是要清晰的定义一个新变量,并且要做类型强转换。

Java 14对instanceof引入了模式匹配,修改后的代码如下:

if (!(obj instanceof String str)) {
     str.contains("A") ;
} else {
     str = "";
}
 

定义了str,就可以在后续代码使用,不在需要显式做类型转换了。

还能继续加入判断条件

if (obj instanceof String str && str.contains("A")) {
            System.out.println(str);
        }

if (obj instanceof String str || str.contains("A")) {
            System.out.println(str);
        }

关于如何进行Java14 增强 instanceOf 类型的推断就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。