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

相关推荐
超梦dasgg9 小时前
Java 生产环境第三方对接安全保障方案
java·开发语言·安全
欧雷殿9 小时前
从「吸引子引导工程」看我的「一人公司」实践
前端·人工智能·后端
卷无止境9 小时前
用一个电影院售票厅,把 SimPy 的条件事件讲透
后端
日月云棠9 小时前
9 Double 与 Float —— IEEE 754 浮点数在 Java 中的实现
java·后端
Refrain_zc9 小时前
Android 二维码登录轮询机制:从扫码到登录的完整客户端实现
java
z落落9 小时前
C#参数区别
java·算法·c#
日月云棠9 小时前
5 StringBuffer —— 线程安全的可变字符串
java·后端
happymaker06269 小时前
SpringBoot学习日记——DAY06(整合MyBatisPlus的其他功能)
java·spring boot·学习
砍材农夫10 小时前
物联网 基于netty核心实战-会话管理
后端
元宝骑士10 小时前
MySQL 8.0 递归 CTE:树形结构一键生成层级 Path 并更新回表
后端·mysql