修改java的静态final变量
来源:互联网 发布:ps4连接港服网络设置 编辑:程序博客网 时间:2024/05/19 17:24
请拷贝以下两个类,然后执行
类一:
import java.lang.reflect.*;public class EverythingIsTrue { static void setFinalStatic(Field field, Object newValue) throws Exception { field.setAccessible(true); Field modifiersField = Field.class.getDeclaredField("modifiers"); modifiersField.setAccessible(true); modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL); field.set(null, newValue); } static void setFinalStaticField( Field field, Object newValue) throws Exception { Field modifiersField = Field.class.getDeclaredField("modifiers"); modifiersField.setAccessible(true); modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL); field.set( null , newValue); } static void setFinalStaticString( Field field, Object newValue) throws Exception { Field modifiersField = Field.class.getDeclaredField("modifiers"); modifiersField.setAccessible(true); modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL); field.set( null , newValue); } public static void main(String args[]) throws Exception { setFinalStatic(Boolean.class.getField("FALSE"), true); System.out.format("Everything is %s \n", Boolean.TYPE); // "Everything is true" setFinalStaticField(TestFinalField.class.getField("finalField") , 99999); System.out.println("finalField: " + TestFinalField.finalField); setFinalStaticString(TestFinalField.class.getField("finalString") , "ccccc"); System.out.println("finalField: " + TestFinalField.finalString); }}
类二:
public class TestFinalField {public static final int finalField = new Integer(1);public static final String finalString = getString();//public static final String finalString = "aaaaa"; 这样赋值修改不了,有办法修改的兄弟请指点,谢谢!public static final Boolean finalBoolean = false;public static void main(String[] args) {// TODO Auto-generated method stub//TestFinalField.finalField = new Integer(1234);}private static String getString(){String str = new String("aaaaa");//String str = "bbbbb";return str;}}
0 0
- 修改java的静态final变量
- 【转】Jmockit 修改final静态变量
- 静态final变量的初始化
- [java]4、静态变量的控制修改
- static final修饰的静态变量修改后更新到服务器,无法生效的问题。
- java 反射机制修改private final变量
- Java基础(五)---局部变量、全局变量、静态变量、final变量、静态常量、静态方法
- Java final修饰的变量
- java的final变量浅析
- 用 sed 给 java 所有静态变量加 final 关键字
- java中的关键字static(静态变量)和final定义常量
- java的静态变量
- java的静态变量
- 用Java 反射机制修改类的pravite final static 变量
- PHP--静态变量、常量、final
- JNI获取并修改Java中类的变量和静态变量的值
- JAVA 静态方法和静态变量和final和※静态import※
- 实例final变量和静态final变量变量赋值
- iOS使用系统地图定位
- Web页面多对象多文档事件冲突的解决方案
- @RequestMapping 用法详解之地址映射(转)
- SPV证明
- dubbo-admin 使用记录
- 修改java的静态final变量
- AFNetworking
- 关于github上的pull request的翻译问题
- js数组清空和添加数据
- Ubuntu 16.04+JDK1.8 全配置
- 编程经验积累
- C# IDispose 接口的实现
- C#学习笔记2
- java内部类