美文网首页Java
Java14新特性:增强 instanceOf 类型推断

Java14新特性:增强 instanceOf 类型推断

作者: 一觉睡到丶小时候 | 来源:发表于2020-03-20 08:16 被阅读0次

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 类型推断

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

  • Java14新特性

    Java14新特性 Java14已如期于2020年3月17日正式发布。这一个版本中主要带来了ZGC增强、insta...

  • 【Effective Modern C++】索引

    本书讲述了C++11/14新特性的用法和原理。1. 类型推断01 理解模板类型推断02 理解auto类型推断03 ...

  • Java 16 新特性:instanceof增强

    instanceof这个关键词,主要用来判断某个对象是不是某个类的实例。 比如,有时候我们要处理一个类似这样的数据...

  • Java14新特性:增强NPE NullPointerExcep

    改进 NullPointerExceptions,通过准确描述哪些变量为 null 来提高 JVM 生成的异常的可...

  • 新特性10-类型推断

    1.先来说说泛型 泛型是Java SE1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个...

  • c++11新特性

    新特性系列介绍nullptrfunctorauto用于定义变量类型及函数返回值时推断变量及返回值类型,默认为值类型...

  • Java15新特性

    Java15新特性 Java15在2020年9月15号正式发布。该版本主要带来了ZGC增强,instanceof增...

  • JavaScript学习使用

    弱类型的特性# 数据类型 类型转换 typeof 操作符 constructor 操作符 instanceof 操...

  • JavaSE 10 新特性

    简介 新特性 局部变量类型推断 强类型编程语言有很多优点,包括在编译时发现类型错误,但是它们也引入了大量的样板代码...

网友评论

    本文标题:Java14新特性:增强 instanceOf 类型推断

    本文链接:https://www.haomeiwen.com/subject/ttsdyhtx.html