我按照上面链接中的说明使用 java 反射更改了私有静态最终字段。我有一个名为“数据”的对象。在“数据”中,有一个名为“类型”的私有静态最终变量。我想将“类型”设置为空。这是我的代码。
Field field = data.getClass().getDeclaredField("type");
field.setAccessible(true);
Field modifiersField = Field.class.getDeclaredField("modifiers");
modifiersField.setAccessible(true);
modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
field.set(data, null);
我尝试使用类似的代码在 Java 1.7 上执行此操作,并且成功了。但在 Android 上运行此代码会产生以下错误: java.lang.NoSuchFieldException: modifiers
我猜“修饰符”不是 Android 上 Field 类中的一个字段。
我该如何解决?