在方法setFieldValue中 Object obj = field.get(target); 是取field属性的值
但是在当field八种基本类型的时候取出的就是具体的值了,如(0,false)
但在后面将obj赋给tatarget就是一个object对象了 在后面又取target的class对象 ,然后给其属性赋值,但是取得属性在object对象的class对象中是没有的
他是怎么附上去的。真的不理解,
求指导!!!!
在方法setFieldValue中 Object obj = field.get(target); 是取field属性的值
但是在当field八种基本类型的时候取出的就是具体的值了,如(0,false)
但在后面将obj赋给tatarget就是一个object对象了 在后面又取target的class对象 ,然后给其属性赋值,但是取得属性在object对象的class对象中是没有的
他是怎么附上去的。真的不理解,
求指导!!!!
最好是把代码附上来比较好。
总之呢,你要反编译的类被jvm加载之后呢,
然后
Class.forName("xxx");就创建了一个目标对象,或者说是创建了一个Class对象的实例
xx.isInstance(xxxx); 这个就创建了目标对象实例
xx.getFields();等方法可以获取目标类的具体信息
然后在用来完成你需要的操作,我猜你是想问 我都取到具体的的类型值了应该是int、long、boolean等类型的啊 怎么还是Objcet的?
----------------背景介绍完毕---------
老生常谈,因为Object是那八种类型的父类(父类子类的特性),java在创建这个方法的时候肯定要用一种 兼容所有类型的类型来巴拉巴拉,不然就要几种类型写几种方法了
(/* 希望我猜的没错,我太无聊了 */)