reflection - 如何在最终类中模拟静态最终变量
问题描述
请注意:不要删除此线程/帖子,因为 StackOverflow 的任何页面都没有正确的答案。我的问题完全不同。
我想模拟一个最终类的私有静态最终字段
我已经尝试过使用 JUnit、EasyMock 或 PowerMock 模拟静态最终变量的解决方案
static void setFinalStatic(Field field, Object newValue) throws IllegalAccessException, NoSuchFieldException{ field.setAccessible(true);
// remove final modifier from field
Field modifiersField = Field.class.getDeclaredField("modifiers");
modifiersField.setAccessible(true);
modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
field.set(null, newValue);
}
但它在“field.set(null, newValue);”处给了我 ExceptionInInitializerError
请指教
解决方案
推荐阅读
- magento - Magento 2:1 异常:异常 #0 (ReflectionException)
- r - 使用闪亮的 webshot 渲染图像时避免重叠
- wordpress - WordPress 漂亮的永久链接
- python - 向 django rest 框架发送 post 请求
- python - 名称或标题方面
- javascript - 如何将 eval 语句更改为 es6 语法?
- paypal-sandbox - 如何在 PayPal Express Checkout 中设置新帐户创建选项?
- c# - c#数据库选择然后插入。但值为0
- javascript - 单击菜单时如何显示部分内容并显示它
- powershell - 无法在 Powershell 中使用 Start-Service 插入变量