得到字节码文件的三种方法
类名.class,例如,System.class
对象.getClass(),例如,new Date().getClass();
Class.forname("类名") 例如,Class.forName("java.util.Date");
String str1="adddd";输出结果为两个true
Class cls1=str1.getClass();
Class cls2=String.class;
Class cls3=Class.forName("java.lang.String");
System.out.println(cls1==cls2);
System.out.println(cls1==cls3);
关于 boolean isPrimitive() 方法
判定指定的 Class
对象是否表示一个基本类型。
有九种预定义的 Class
对象,表示八个基本类型和 void。
这些类对象由 Java 虚拟机创建,与其表示的基本类型同名,即 boolean
、byte
、char
、short
、int
、long
、float
和double
。
System.out.println(cls1.isPrimitive());//false
//字符串是一个类,不是基本类型
System.out.println(int.class.isPrimitive());//true
System.out.println(int.class==Integer.class);//false
//Integer是一个包装类,不是基本类型
System.out.println(int.class==Integer.TYPE);//true
//Integer.TYPE 表示基本类型 int 的 Class 实例。
System.out.println(int[].class.isPrimitive());//false
//整形数组不是基本类型
System.out.println(int[].class.isArray());//true
//判断是否为数组