一、獲取類的位元組碼的三種方法:
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 }