gpt4 book ai didi

java - 强化高 : Access specifier manipulation on reflection that is used to invoke a private constructor

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:37:02 26 4
gpt4 key购买 nike

我使用反射来调用类的私有(private)构造函数,以解决 Sonar 扫描报告显示的分支覆盖不足问题。这是我正在工作的代码片段:

// reflection to access a private constructor of a class
Constructor<CMISBridgeMaps> c = CMISBridgeMaps.class.getDeclaredConstructor(new Class[0]);
c.setAccessible(true);
cmisBridgeMaps = c.newInstance(new Object[0]);

以上代码解决了我的 Sonar 扫描关键问题。但不幸的是,fortify 现在在以下行中显示访问说明符操作问题:

c.setAccessible(true);

如何同时解决 fortify 和 sonarcube 问题?任何帮助将不胜感激。

最佳答案

如果您使用 Spring,则可以使用 ReflectionUtils.makeAccessible(field) 使该字段可访问。 Fortify 没有提示这个调整。

您可以在 this article 中阅读更多相关信息.

关于java - 强化高 : Access specifier manipulation on reflection that is used to invoke a private constructor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41878901/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com