51,407
社区成员
发帖
与我相关
我的任务
分享
public static void setFinalStatic(Field field, Object newValue) {
try {
field.setAccessible(true);
Field modifier = Field.class.getDeclaredField("modifiers");
modifier.setAccessible(true);
modifier.setInt(field, field.getModifiers() & ~Modifier.FINAL);
field.set(null, newValue);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws Exception {
Integer[] ret = new Integer[256];
java.util.Arrays.fill(ret, 42);
setFinalStatic(Class.forName("java.lang.Integer$IntegerCache").getDeclaredField("cache"), ret);
System.out.format("6 * 9 = %d", 0);
// setFinalStatic(Boolean.class.getField("FALSE"), true);
// System.out.format("Everything is %s",true);
//
// System.out.println();
// System.out.println(new Integer(0).valueOf(122220));
}
