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

相关推荐
兑生41 分钟前
【灵神题单·贪心】1481. 不同整数的最少数目 | 频率排序贪心 | Java
java·开发语言
daidaidaiyu44 分钟前
一文学习 Spring 声明式事务源码全流程总结
java·spring
颜酱1 小时前
DFS 岛屿系列题全解析
javascript·后端·算法
零雲2 小时前
java面试:了解抽象类与接口么?讲一讲它们的区别
java·开发语言·面试
小码哥_常2 小时前
Java后端定时任务抉择:@Scheduled、Quartz、XXL - Job终极对决
后端
uzong2 小时前
Skill 被广泛应用,到底什么是 Skill,今天详细介绍一下
人工智能·后端·面试
小码哥_常2 小时前
Kafka平替!SpringBoot+Redis Stream+消费组打造极致消息队列
后端
IT_陈寒4 小时前
Redis缓存击穿:3个鲜为人知的防御策略,90%开发者都忽略了!
前端·人工智能·后端
uzong4 小时前
Harness Engineering 是什么?一场新的 AI 范式已经开始
人工智能·后端·架构
左左右右左右摇晃5 小时前
Java并发——synchronized锁
java·开发语言