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);
        }

原文 

https://lida1024.top/2020/03/20/Java14新特性:增强-instanceOf-类型推断/

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » Java14新特性:增强 instanceOf 类型推断

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址