Java反射獲取字節碼以及判斷類型


一、獲取類的字節碼的三種方法:
  

  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 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM