JDK23中的instanceof

前言

JDK23以前版本,instanceof关键字是不支持拓展基本类型,允许在所有模式上下文中使用原始类型,包括 longfloatdoubleboolean等,但目前是预览属性

instanceof使用

JDK23以前是这么使用的,要使用引用类型

typescript 复制代码
public class Instanceof1Demo {


    public static void main(String[] args) {
        Object data = 1;
        if (data instanceof Integer) {
            System.out.println(data);
        } else {
            System.out.println(2);
        }
    }
}

输出结果为

使用JDK23中的instanceof要先开启预览属性

typescript 复制代码
public class Instanceof1Demo {


    public static void main(String[] args) {
        Object data = 1;
        if (data instanceof int str) {
            System.out.println(str);
        } else {
            System.out.println(2);
        }
    }
}

输出结果为

总结

JDK23中,JEP 455 的预览特性中,instanceof 全面支持所有原始类型,包括 byte, short, char, int, long, float, double, boolean,但是属于预览属性,没有转正,使不使用就看个人选择

相关推荐
icebreaker9 分钟前
Mokup:构建工具友好的可视化 Mock 工具
前端·javascript·后端
Codiggerworld11 分钟前
从字节码到JVM:深入理解Java的“一次编写,到处运行”魔法
java·开发语言·jvm
_codemonster21 分钟前
配置Tomcat时为啥要配置Artifacts
java·tomcat·firefox
无心水23 分钟前
2025,一路有你!
java·人工智能·分布式·后端·深度学习·架构·2025博客之星
m0_5287490024 分钟前
C语言错误处理宏两个比较重要的
java·linux·算法
AskHarries24 分钟前
skills-lc-cli:3 天做出来的一个小工具,结果自己每天都在用
后端
小夏coding31 分钟前
简易的查询与缓存的统一执行器
后端
独自破碎E44 分钟前
BISHI43 讨厌鬼进货
android·java·开发语言
MX_93591 小时前
Spring xml 方式整合第三方框架总结加案例
xml·java·spring
没有bug.的程序员1 小时前
服务网格(Istio)与传统微服务深度对垒:流量治理内核、代码侵入性博弈与运维收益实战指南
java·运维·微服务·istio·流量治理内核·代码侵入性