一、获取类的字节码的三种方法:
1.使用Class.class
1 Class<?> c1=String.class;
2.使用实例.getClass()
1 String s=new String("1"); 2 Class<?> c2=s.getClass();
3.使用Class.forName("类全名");
1 Class<?> c3 = Class.forName("java.lang.String");
二、判断字节码是不是基本类型
//判断是不是基本类型
System.out.println(c1.isPrimitive());//false
三、判断是不是数组:
1 //判断是不是数组 2 System.out.println(String[].class.isArray());//true
四、判断基本类型的详细类型
1 // 判断是不是int 基本类型 2 System.out.println(int.class==Integer.TYPE);
完整代码
1 package cn.lonecloud.Test; 2 3 import org.junit.Test; 4 5 public class ClassTest { 6 7 @Test 8 public void ClassTest() throws ClassNotFoundException{ 9 //获取类的字节码的三种方法: 10 //1.使用Class.class 11 Class<?> c1=String.class; 12 // 2.使用实例.getClass() 13 String s=new String("1"); 14 Class<?> c2=s.getClass(); 15 // 3.使用Class.forName("类全名"); 16 Class<?> c3 = Class.forName("java.lang.String"); 17 System.out.println(c1==c2);//true 18 System.out.println(c2==c3);//true 19 System.out.println(c1==c3);//true 20 // 获取基本类型的字节码 21 System.out.println(int.class);//int 22 //基本类型的字节码和其包装类是不一样的 23 System.out.println(Integer.class==int.class);//false 24 //判断是不是基本类型 25 System.out.println(c1.isPrimitive());//false 26 //判断是不是数组 27 System.out.println(String[].class.isArray());//true 28 // 判断是不是int 基本类型 29 System.out.println(int.class==Integer.TYPE); 30 } 31 }