我正在使用字符串作为锁,因此想确保该对象是一个新实例。FindBugs抱怨,因为直接定义字符串(使用双引号)通常更有效。我的代码如下:
/** A lock for the list of inputs. */
@edu.umd.cs.findbugs.annotations.SuppressWarnings("DM_STRING_CTOR")
//We want a new String object here as this is a lock.
private final Object inputListLock = new String("inputListLock");
我在这里做错什么了吗?Eclipse FindBugs插件仍将其报告为问题:
Pattern id: DM_STRING_CTOR, type: Dm, category: PERFORMANCE
Using the java.lang.String(String) constructor wastes memory because the object so constructed will be functionally indistinguishable from the String passed as a parameter. Just use the argument String directly.
好的,所以尽管其他两个答案都很有趣且有用(两个都是+1),但我并没有最终更改代码,而是要接受自己的答案。为了使FindBugs满意,我将注释从成员变量移到了周围的类。
我已经寻找了一段时间,但没有发现任何暗示SuppressWarnings只能应用于类和方法的信息。我也没有发现将其应用于成员变量的任何示例。因此,尽管此解决方案有效,但我不知道它是“正确的”解决方案(例如,我的FindBugs / Eclipse设置可能仍然存在问题)。
如何将以下警报转换为ESLint可接受的警报? 我的构建失败,因为显然我不能使用"警报"。我想在加载某个东西时调用此警报。此代码工作成功,但不符合ESLint。 http://eslint.org/docs/rules/no-alert 如何修改代码使其成功构建? 提前感谢:)
问题内容: 如何在解决方案中全局禁止StyleCop警告? 该解决方案使用Jenkins(连续构建和集成工具)不断构建,并应用了所有StyleCop规则。该解决方案使用TAB字符而不是4个空格,因为这是我的开发团队所采用的标准。因此,StlyeCop会引发几个SA1027警告。 如何从詹金斯删除SA1027警告?那也有帮助。 在每个C#文件上提供SuppressMessage看起来并不好。这就是为
问题内容: 我有一条Java代码行,其中IntelliJ显示警告。如何使该特定行中的警告静音,而又不影响其他行中显示的警告? 在这个问题中,实际的警告是无关紧要的:现在,我不寻求有关如何提高特定Java代码质量的建议,但我通常想知道如何防止IntelliJ在特定Java代码上显示警告。 Java源代码行。 问题答案: 大多数情况下,您可以在IntelliJ中单击和,它将带有抑制警告的选项。
问题内容: 在Java中,如果导入不推荐使用的类: 您收到此警告: 有没有办法抑制这种警告? 问题答案: 在您的类或方法上使用此注释:
问题内容: 我们广泛使用反射在代码中设置类字段值。这些字段是通过代码访问的,但是除非通过反射,否则绝不会分配它们。因此,IDEA显示“从未分配”警告。如果我要求IDEA禁止检查,它将插入 但这也使我们无法检查是否使用了该字段。 是否有可能仅禁用“未分配”检查并仅对特定字段保留“未使用”检查? IDEA版本是10.5 问题答案: 您可以使用注释将其标记为已注入字段。(类似于它的处理方式)。Intel
问题内容: 我在HTML页面上有一个div,每当我按下鼠标并移动它时,它会显示“不能放下”光标,就像它选择了某些内容一样。有没有办法禁用选择?我尝试了CSS用户选择,但没有成功。 问题答案: 的专有版本将在大多数现代浏览器中运行: 对于IE <10和Opera,您将需要使用希望不可选择的元素的属性。您可以使用HTML中的属性进行设置: 遗憾的是,该属性没有被继承,这意味着您必须在内每个元素的开始标