public class ClassTest {
public static void main(String[] args) throws ClassNotFoundException,
InstantiationException,IllegalAccessException{
String s1 = "abcd";
//获取s1和String类的字节码
Class c1= s1.getClass(); //对象的方法
Class c2= String.class; //类的方法
Class c3= Class.forName("java.lang.String"); //类的方法
//比较字节码是否相同
System.out.println(c1);
System.out.println(c2);
System.out.println(c3);
System.out.println("-----------------------------");
System.out.println("c1与c2是否是同一个对象"+(c1==c2));
System.out.println("c1与c3是否是同一个对象"+(c1==c3));
//检测是否为基本类型
System.out.println("-----------------------------");
System.out.println("char是否基本类型"+char.class.isPrimitive());
System.out.println("String是否基本类型"+String.class.isPrimitive());
System.out.println("int是否基本类型"+int.class.isPrimitive());
//检测int和Integer是否指向同一字节码
System.out.println("-----------------------------");
System.out.println("int和Integer是否指向同一字节码"+(int.class==Integer.class));
System.out.println("int和Integer.TYPE的字节码是否指向同一字节码"+(int.class==Integer.TYPE));
//数组方面的字节
System.out.println("-----------------------------");
System.out.println("int[]是否基本类型"+int[].class.isPrimitive());
System.out.println("int[]是否数组类型"+int[].class.isArray());
}
}
public static void main(String[] args) throws ClassNotFoundException,
InstantiationException,IllegalAccessException{
String s1 = "abcd";
//获取s1和String类的字节码
Class c1= s1.getClass(); //对象的方法
Class c2= String.class; //类的方法
Class c3= Class.forName("java.lang.String"); //类的方法
//比较字节码是否相同
System.out.println(c1);
System.out.println(c2);
System.out.println(c3);
System.out.println("-----------------------------");
System.out.println("c1与c2是否是同一个对象"+(c1==c2));
System.out.println("c1与c3是否是同一个对象"+(c1==c3));
//检测是否为基本类型
System.out.println("-----------------------------");
System.out.println("char是否基本类型"+char.class.isPrimitive());
System.out.println("String是否基本类型"+String.class.isPrimitive());
System.out.println("int是否基本类型"+int.class.isPrimitive());
//检测int和Integer是否指向同一字节码
System.out.println("-----------------------------");
System.out.println("int和Integer是否指向同一字节码"+(int.class==Integer.class));
System.out.println("int和Integer.TYPE的字节码是否指向同一字节码"+(int.class==Integer.TYPE));
//数组方面的字节
System.out.println("-----------------------------");
System.out.println("int[]是否基本类型"+int[].class.isPrimitive());
System.out.println("int[]是否数组类型"+int[].class.isArray());
}
}