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,但是属于预览属性,没有转正,使不使用就看个人选择

相关推荐
陈随易3 分钟前
Vue-Router v5内置文件式路由,告别手写维护的恐惧
前端·后端·程序员
悟空码字20 分钟前
无缝集成指南,SpringBoot三步接入华为云短信服务
java·springboot·编程技术·后端开发·华为云短信
E_ICEBLUE26 分钟前
【2026 最新教程】Java 自动化提取 PDF 表格:从文本到 Excel/CSV 的全场景实现
java·pdf·自动化
C雨后彩虹28 分钟前
无向图染色
java·数据结构·算法·华为·面试
J_HelloWorld29 分钟前
缺页中断:Java高性能存储的隐形推手
java·缺页中断
FAFU_kyp33 分钟前
Rust 结构体(struct)
开发语言·后端·rust
一代明君Kevin学长34 分钟前
记录一个上手即用的Spring全局返回值&异常处理框架
java·网络·python·spring
枫叶梨花36 分钟前
SpringBoot+Vue实现SM4加密传输
spring boot·后端
悟空码字38 分钟前
SpringBoot整合MyBatis-Flex保姆级教程,看完就能上手!
java·spring boot·后端
爬山算法39 分钟前
Hibernate(43)Hibernate中的级联删除如何实现?
java·python·hibernate