Byte Buddy:动态字段值

问题描述 投票:0回答:1

我正在与字节伙伴合作,我想获取我拦截的类中所有私有字段的值。 我知道我可以做这样的事情

   public static boolean intercept(@Advice.FieldValue("fieldName") String fieldName)

我的问题是我的拦截器适用于多个类,因此字段会有所不同。 有没有办法获取拦截类的所有字段值?或者也许在我的拦截器中调用这些字段的 getter ? 我寻找 @FieldValue 的原因是我在构建时使用 byte buddy,并且我想避免在运行时使用反射来获取字段值或调用 getter

java byte-buddy
1个回答
0
投票

您可以为此目的注册自己的绑定。这允许您一次解析一个值并一次又一次地提取它。

问题是数组或列表不能表示为编译时间常量,这意味着每次访问都要进行分配。因此很难创建一个通用的机制。

© www.soinside.com 2019 - 2024. All rights reserved.