关于反射获得一个对象的引用,然后再另一个地方,如何获取这个对象的数据成员

CHZiroy CHZiroy 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
比如这个类的成员有
class B
{
A[] Aset; //某个类对象组成的数组
int name;
}

B b = new B();
下面一个是获取这个对象的引用,获取它的数据成员的方法
void receive_1(ObjectReference r){
B second_b = new B(); //由传过来的r建立新的对象
Field t1 = or.referenceType().fieldByName("name");
Value t1_v = or.getValue(t1);
second_b.name = ((IntegerValue)t1_v).value(); //转化为Int型

Field t2 = or.referenceType().fieldByName("Aset");
Value t2_v = or.getValue(t2);
List<A> L2 = (List<A>)t2_v; //这一步和下一步运行出错,
second_b.Aset = (A[])L2.toArray(); //不知道怎么将获取到的数组的Value还原出来




}
...全文

相关推荐

评论 1
收藏 已收藏
分享
返回顶部
CHZiroy
Java SE 62,620 成员 307,251 内容