String age = "123";Class clazz = double.class;clazz.getConstructor(String.class).newInstance(age);---------------------------------------------------------------------1、我去打印得到的 clazz。getConstructors(),發現沒有構造方法,是不是可以說明這不可以反射?2、從而java中8中基本數據類型(String除外)都是不可以同過反射轉換的?3、反射是不是都是 類對象?而基本數據類型不是類?--------------------------------------------------------------------------------------基本數據類型不可以反射,但是可以通過包裝類轉換。Integer,就是需要個方法轉換double -改成- > int
2 回答
白衣非少年
TA貢獻1155條經驗 獲得超0個贊
基本數據類型都是可以反射的,你的clazz有個isPrimitive()方法,就是用來表示這個反射的字節碼是不是基本類型,沒有構造方法只是說明這個基本類型的字節碼本來就沒有構造方法,
這種基本類型的反射一般可以通過包裝類來識別,像 int.class == Integer.TYPE; boolean.class == Boolean.TYPE,另外void 都可以反射呢,void.class == Void.TYPE
大話西游666
TA貢獻1817條經驗 獲得超14個贊
8個基本類型都不是類 而發射機制都是以類為對象反射的 不能對于一個基本類型進行反射操作。包裝類他也是類,不過是對基本類型進行封裝而已,所以可以用反射
添加回答
舉報
0/150
提交
取消
