Java中9大内置Class实例和数组的Class实例
Java中一切皆对象,基本数据类型,没有类的全限定名,也没有getClass方法
问题:那么如何使用Class类来表示基本数据类型的Class实例?》
Byte, short, int, long, char, float, double, boolean, void关键字
上述8种类型和void关键字,都有class属性
表示int的Class对象: Class clz=int.class;//表示的就是int类型(实际是int类型的字节码)
表示boolean的Class对象: Class clz=boolean.class;//表示的是boolean类型(实际是boolean类型的字节码)
void的Class对象: Class clz=void.class;
所有的数据类型都有class属性,表示的都是Class对象
思考:
int的包装类是Integer
Integer.class 和int.class是同一种字节码吗?----不是
八大基本数据类型的包装类中都有一个常量:TYPE
TYPE表示的是该包装类对应的基本数据类型的Class实例
如:Integer.TYPE==int.class
数组的Class实例
String[] sArr1={“A”,”B”};
String[] sArr2={};
String[][] sArr3={};
int[] iArr={};
Class clz=String[].class; //此时clz表示的就是一个String类型的一维数组
所以具有相同元素类型和维数的数组都共享同一个Class对象
Class clz=String[][].class;