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
提交
取消