0 0

java 反射5

在方法setFieldValue中 Object obj = field.get(target); 是取field属性的值
但是在当field八种基本类型的时候取出的就是具体的值了,如(0,false)
但在后面将obj赋给tatarget就是一个object对象了   在后面又取target的class对象 ,然后给其属性赋值,但是取得属性在object对象的class对象中是没有的
他是怎么附上去的。真的不理解,

求指导!!!!
2014年8月22日 22:54

2个答案 按时间排序 按投票排序

0 0

采纳的答案

最好是把代码附上来比较好。
总之呢,你要反编译的类被jvm加载之后呢,
然后
Class.forName("xxx");就创建了一个目标对象,或者说是创建了一个Class对象的实例
xx.isInstance(xxxx); 这个就创建了目标对象实例
xx.getFields();等方法可以获取目标类的具体信息

然后在用来完成你需要的操作,我猜你是想问 我都取到具体的的类型值了应该是int、long、boolean等类型的啊 怎么还是Objcet的?
----------------背景介绍完毕---------
老生常谈,因为Object是那八种类型的父类(父类子类的特性),java在创建这个方法的时候肯定要用一种 兼容所有类型的类型来巴拉巴拉,不然就要几种类型写几种方法了
(/* 希望我猜的没错,我太无聊了 */)

2014年8月24日 15:19
1 0

没有完全明白你说的是什么.

2014年8月23日 14:27

相关推荐

Global site tag (gtag.js) - Google Analytics