最近在学习反射知识,老师在讲到比较基本数据类型的字节码时,有这么一个语句:
System.out.println(int.class ==Integer.class);结果很明显是错的
Integer.class 我能理解,Integer是基本数据类型的封装类,他用到反射时会产生自己的一份字节码,
但是,int.class 怎么去理解?在API里,Class类把九种基本类型数据也表示为Class对象。
他的这份字节码是如何产生的?
在Integer中可以使用字段,Integer.TYPE返回int的Class实例,也就是int.class ,这里的int.class,,Integer.class两者的关系是怎么样?
最困扰我的问题就是,int.Class到底怎么来的,int又不是一个类,他只是一个基本数据类型的关键字而已,怎么会有字节码呢? |