java反射修改final变量

 

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啦。

 

posted @ 2017-11-01 00:06  hjzqyx  阅读(2826)  评论(0编辑  收藏  举报