static final修饰的静态常量修改后,引用的地方值未改变
问题描述:修改工具类中静态常量的值,增量上线后,其引用地方的值未发生改变,本地测试是可以的
问题解决:被static final修饰的静态常量,其引用的地方在编译后,值会写死在class文件里,修改静态常量的值,其引用的代码文件若没有重新编译,值是不会改变的。本地测试成功,是因为本地项目在开发工具里是全部编译。
编译前:
BusinessContainer.MannBtFlag_20是工具类的静态常量
编译后:
BusinessContainer.MannBtFlag_20被写死为20