java中getClass()、TYPE、class的區別


首先,基本數據類型只有.class,它們也沒有對象,比如

System.out.println(int.class.getTypeName());  // 輸出 int
System.out.println(int.class);                // 輸出 int

getTypeName() 返回一個字符串,(返回 "int" 字符串),否則,int.class 返回的是 java.lang.Class!

那么基本數據類型的包裝類,或者普通定義的類

它們的 .TYPE 就 相當於 基本數據類型的 .class

Integer integer = 2;
System.out.println(Integer.TYPE.getTypeName());    // 輸出 int  字符串
System.out.println(Integer.TYPE);             // 輸出 int

它們的 .class 輸出其完整類路徑, 就 相當於 它某個實例的 .getClass()

System.out.println(Integer.class.getTypeName());        // 輸出 java.lang.Integer 字符串
System.out.println(Integer.class);                 // 輸出 java.lang.Integer
System.out.println(integer.getClass().getTypeName());     // 輸出  java.lang.Integer  字符串
System.out.println(integer.getClass());             // 輸出 java.lang.Integer

 


免責聲明!

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



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