private void updateFinalModifiers(Field field) throws NoSuchFieldException, IllegalAccessException {
field.setAccessible(true);
Field modifiersField = Field.class.getDeclaredField("modifiers");
modifiersField.setAccessible(true);
modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
} 再调用 filed.set() 方法,就ok啦。
相关文章
- 12-01遇过的坑-用ant编译java项目,如果static变量有修改,使用了该static变量的java文件, 不会重编译
- 12-01内部类访问外部类的变量必须是final吗,java静态方法中不能引用非静态变量,静态方法中不能创建内部类的实例
- 12-01java – 在构造函数中初始化public static final变量
- 12-01为什么局部变量必须以final修饰(或者有final实效:java8)才可以在内部类中使用?
- 12-01Java 为什么局部内部类对调用的局部变量一定要求为final类型
- 12-01java中使用反射做一个工具类,来为指定类中的成员变量进行赋值操作,使用与多个类对象的成员变量的赋值。
- 12-01java静态变量和final关键字
- 12-01Java反射之修改常量值
- 12-01windows新增/修改/删除系统环境变量bat示例,一键配置JAVA_HOME
- 12-01Java学习笔记18---final关键字修饰变量、方法及类