前言
在JDK23
以前版本,instanceof
关键字是不支持拓展基本类型,允许在所有模式上下文中使用原始类型,包括 long
、float
、double
和boolean
等,但目前是预览属性
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
,但是属于预览属性,没有转正,使不使用就看个人选择