-2

我想获得(例如 Object.field1)的 java.lang.reflect.Field,但我的程序会被混淆。我不能使用该字段的名称,但我只想通过该引用获取它。我也不想循环遍历字段数组并找到我想要的。

对不起,如果我措辞错误,我不知道我应该怎么称呼它。

4

1 回答 1

2

把自己画到了一个角落里

Field如果您不知道字段的混淆名称并且您不想(或不能)循环遍历所有字段以识别正确的字段,则无法使用反射获取字段(或)。

我有几个建议:

  1. 更改混淆规则;例如,不要混淆这个类,或者这个类的字段名,或者这个特定的字段名。

  2. 添加访问此字段的方法,以便您不需要使用反射。

您还可以弄清楚该字段的混淆名称将是什么并将其硬连接到您的反射代码中,但这是一个坏主意。对您的代码进行小的更改可能会使混淆的字段名称发生变化。然后你的代码就会中断。

于 2021-08-07T04:36:58.683 回答