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

相关推荐
aiopencode3 分钟前
混合开发应用安全方案,在多技术栈融合下构建可持续、可回滚的保护体系
后端
喵个咪9 分钟前
初学者导引:在 Go-Kratos 中用 go-crud 实现 GORM CRUD 操作
后端·go
老华带你飞11 分钟前
房屋租赁管理|基于springboot + vue房屋租赁管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·毕设
用户21903265273515 分钟前
Spring Cloud Alibaba 微服务 K8S 部署完整文档
后端
DashVector31 分钟前
如何通过HTTP API删除Doc
大数据·后端·云计算
马卡巴卡32 分钟前
Kafka:消费者重试与死信队列的对应模式分析
后端
凛_Lin~~33 分钟前
安卓 Java线程八股文 (线程、多线程、线程池、线程安全)
android·java·开发语言
小周在成长34 分钟前
Java ArrayList(集合) 常用 API
后端
落枫5936 分钟前
String.join(",", List) VS List.stream().collect(Collectors.joining(",")) 哪种效率好
后端
咕白m62537 分钟前
Python 实现 Word 到 Markdown 的转换
后端·python