欢迎来到徐庆高(Tea)的个人博客网站
磨难很爱我,一度将我连根拔起。从惊慌失措到心力交瘁,我孤身一人,但并不孤独无依。依赖那些依赖我的人,信任那些信任我的人,帮助那些给予我帮助的人。如果我愿意,可以分裂成无数面镜子,让他们看见我,就像看见自己。察言观色和模仿学习是我的领域。像每个深受创伤的人那样,最终,我学会了随遇而安。
当前位置: 日志文章 > 详细内容

JDK23中instanceof的使用小结

2025年08月06日 Java
前言在jdk23以前版本,instanceof关键字是不支持拓展基本类型,允许在所有模式上下文中使用原始类型,包括 long、float、double 和boolean等,但目前是预览属性instan

前言

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

instanceof使用

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

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要先开启预览属性

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 全面支持所有原始类型,包括 byteshortcharintlongfloatdoubleboolean,但是属于预览属性,没有转正,使不使用就看个人选择

到此这篇关于jdk23中instanceof的使用小结的文章就介绍到这了,更多相关jdk23 instanceof内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!