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

相关推荐
卷无止境4 分钟前
FastAPI Users 全面解析:概念、原理与工程实战
后端·python
茶本无香6 分钟前
Java调用Shell脚本执行SQL数据库操作:从入门到实战
java·sql·shell
程序员爱钓鱼9 分钟前
Go switch 详解
后端·面试·go
程序员爱钓鱼12 分钟前
Rust Struct结构体详解:定义自己的复杂数据类型
后端·面试·rust
风流 少年16 分钟前
Spring AI 2.0:MCP
java·后端·spring
北斗落凡尘42 分钟前
LangGraph 入门实战(7)
后端·langchain
天疆说1 小时前
01 硬件选型与 llama.cpp 部署:4× RTX 5880 Ada 跑 DeepSeek-V4-Flash
java·redis·llama
uzong1 小时前
业务新老系统数据迁移-负责人经验总结和复盘
后端
水无痕simon1 小时前
3 短信应用场景以及平台架构
java·服务器