为了账号安全,请及时绑定邮箱和手机立即绑定

在方法中将一个字段替换为另一个字段

在方法中将一个字段替换为另一个字段

jeck猫 2021-04-29 15:25:37
我正在尝试在方法主体中动态地将字段引用替换为另一个字段引用。bytebuddy有可能吗?我要转换的类是这样的:public class TestReplace {    @replace    int a = 1;    int b = 2;    public int printA() {        return a;    }    public int printB() {        return b;    }}转换包括在访问它们的方法中替换标有@replace的变量。替换将由我将插入的变量完成。已经转换的类应如下所示:public class TestReplace {    @replace    int a = 1;    int ___a = a * 10; // var inserted    int b = 2;    public int printA() {        return ___a;    }    public int printB() {        return b;    }}我是这个主题的新手,希望您能给我任何帮助。提前致谢
查看完整描述

1 回答

?
交互式爱情

TA贡献1712条经验 获得超3个赞

是的,可以使用MemberSubstitution

MemberSubstitution.relaxed()
  .field(ElementMatchers.named("a"))
  .onRead()
  .doReplaceWith(otherField)

例如,您可以从使用AgentBuilderAPI定义的Java代理中应用此转换。您可能还需要从该代理定义替代字段。您可以使用来引用此字段FieldDescription.Latent


查看完整回答
反对 回复 2021-05-12
  • 1 回答
  • 0 关注
  • 171 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信