为了账号安全,请及时绑定邮箱和手机立即绑定

int 为什么有int.class

int 是基本数据类型,就说明int不是类,那int为什么会有,int.class?

正在回答

3 回答

任然有问题,如果是JVM自动封装,那我int 声明 的属性岂不是和Integer声明的相同,那在做赋值的时候,如:

int a = null; // 这是不允许的

Integer b = null; // 这是允许的

如果JVM自动封装,那a应该是可以的,还是说编辑器提示不允许这样做,其实是可以int a = null;

1 回复 有任何疑惑可以回复我~

int.class == Integer.TYPE

讲道理,int是基本类型,不是类,也称不上对象,int.class这种写法不对。但是如果你这么用了,其实就是去取对应包装类的class,JVM会自动封装成包装类。

3 回复 有任何疑惑可以回复我~
#1

师大刘士博

int.class == Integer.Type——true int.class == Integer.class——false public static final Class<Integer> TYPE = (Class<Integer>) Class.getPrimitiveClass("int");这获取的是int类型的Class对象引用。 int.class不是对应包装器类型的Class
2021-08-05 回复 有任何疑惑可以回复我~
#2

师大刘士博

有9个预先定义好的Class对象代表8个基本类型和void,它们被Java虚拟机创建,和基本数据类型有相同的名字。这8个基本类型的Class对象可以通过包装器类型.Type来访问,也可以通过.class访问。
2021-08-05 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

int 为什么有int.class

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信