gpt4 book ai didi

java - IntelliJ IDEA @SuppressWarnings 用于检查工具名称

转载 作者:搜寻专家 更新时间:2023-11-01 02:06:14 26 4
gpt4 key购买 nike

我知道我可以像这样抑制来自 IntelliJ IDEA 检查的警告:

@SuppressWarnings("CollectionDeclaredAsConcreteClass")
public PropertiesExpander(Properties properties) {
this.properties.putAll(properties);
}

对于外部人员来说,可能不清楚对于哪个工具需要这种抑制。

PMD 为此使用前缀:

@SuppressWarnings("PMD.UnusedLocalVariable")

FindBugs 使用专用注解:

@SuppressFBWarnings("NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR")

有什么办法可以明确表示这种抑制只是针对IntelliJ IDEA的?

最佳答案

为方法参数抑制这种情况的一种方法是改用 javadoc 标记:

/**
* @noinspection CollectionDeclaredAsConcreteClass
*/
public PropertiesExpander(Properties properties) {
this.properties.putAll(properties);
}

这个 javadoc 标签是 IntelliJ 特有的,所以其他工具应该不会有任何问题。您可以通过按原样识别它或向其添加一些评论来轻松识别它:

/**
* @noinspection IntelliJ CollectionDeclaredAsConcreteClass
*/
public PropertiesExpander(Properties properties) {
this.properties.putAll(properties);
}

当然你还可以进一步缩短它:

/** @noinspection CollectionDeclaredAsConcreteClass */
public PropertiesExpander(Properties properties) {
this.properties.putAll(properties);
}

一般方法

可以使用特殊注释而不是 @SuppressWarnings 批注逐一抑制某些警告。

这是一个包含大量警告的示例:

enter image description here

如果你在 notUsedLocalVariable 上按 Alt+Enter,然后你可以选择 Suppress for statement with comment上下文菜单(选择 Remove variable ... 后向右移动)。

在某些变量/字段/方法上,选择的抑制只是Suppress for statement

如果您查看右侧字段,现在大部分(不是全部)警告都已被抑制:

enter image description here

如您所见,可以在同一个注释行上进行多个抑制。

这似乎有点乏味,但我认为这是您能做的最好的事情。

关于java - IntelliJ IDEA @SuppressWarnings 用于检查工具名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32363262/

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