Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:@SuppressWarnings(…)参数的完整列表(在Netbeans中)?_Java_Netbeans_Compiler Warnings_Suppress Warnings - Fatal编程技术网

Java:@SuppressWarnings(…)参数的完整列表(在Netbeans中)?

Java:@SuppressWarnings(…)参数的完整列表(在Netbeans中)?,java,netbeans,compiler-warnings,suppress-warnings,Java,Netbeans,Compiler Warnings,Suppress Warnings,Netbeans提供了许多自定义的“提示”,这些提示类似于警告,只是其中的大多数不能被抑制(只是全局禁用IDE) 但现在我看的是使用 @SuppressWarnings("element-type-mismatch") 抑制称为“可疑方法调用”的提示/警告(例如,对于类型为“错误”的集合,remove(…)) 嗯,我永远不会想到用名为“元素类型不匹配”的SuppressWarnings-参数来抑制名为“可疑方法调用”的提示,但显然,它是有效的 那么,这些参数是否有“魔法列表”? 例如,如何抑制

Netbeans提供了许多自定义的“提示”,这些提示类似于警告,只是其中的大多数不能被抑制(只是全局禁用IDE)

但现在我看的是使用

@SuppressWarnings("element-type-mismatch")
抑制称为“可疑方法调用”的提示/警告(例如,对于类型为“错误”的集合,
remove(…)

嗯,我永远不会想到用名为“元素类型不匹配”的
SuppressWarnings
-参数来抑制名为“可疑方法调用”的提示,但显然,它是有效的

那么,这些参数是否有“魔法列表”?

例如,如何抑制提示/警告“返回集合字段”

注:对于“元素类型不匹配”未列出。

说明:

编译器供应商应将其支持的警告名称与此注释类型一起记录下来。鼓励他们合作,以确保相同的名称在多个编译器中工作

由于NetBeans使用的是javac,我认为


如果您正在使用另一个编译器或某个编译器插件,请搜索其文档。

在简要查看了NB源代码后,我在一些java.hint类中找到了这些代码:

@Hint(category="bitwise_operations", suppressWarnings="IncompatibleBitwiseMaskOperation")
@Hint(category="initialization", suppressWarnings="LeakingThisInConstructor")
@Hint(category="logging", suppressWarnings={"NonConstantLogger"}) //NOI18N
@Hint(category="logging", suppressWarnings={"ClassWithMultipleLoggers"}) //NOI18N
@Hint(category="logging", suppressWarnings={"ClassWithoutLogger"}, enabled=false) //NOI18N
@Hint(category="code_maturity", suppressWarnings="UseOfObsoleteCollectionType")
@Hint(category="initialization", suppressWarnings="OverridableMethodCallInConstructor")
@Hint(category="bitwise_operations", suppressWarnings="PointlessBitwiseExpression")
@Hint(category="code_maturity", suppressWarnings="CallToThreadDumpStack")
@Hint(category="bitwise_operations", suppressWarnings="ShiftOutOfRange")
@Hint(category="initialization", suppressWarnings="StaticNonFinalUsedInInitialization")
@Hint(category="code_maturity", enabled = false, suppressWarnings="UseOfSystemOutOrSystemErr")
@Hint(category="code_maturity", suppressWarnings="CallToPrintStackTrace")
显然,并非所有显示为警告的IDE提示都是可抑制的。。。 但我不知道为什么,因为AbstractHint类(其中许多类可以轻松扩展)提供了这种能力。。。
但是,这些只是抑制名称,因此要找到它们所代表的警告名称的映射,需要对源代码进行更深入的挖掘。

很难找到该列表。确实找到了Netbeans的
提示类的源

所以“名单”是。(同时查看子包;例如
jdk
perf

所有类都可以通过使用其
camel cases
名称来抑制,例如:

// org.netbeans.modules.java.hints.jdk.UnnecessaryBoxing.java
@SuppressWarnings("UnnecessaryBoxing") 

好吧,这些资源都不包含“元素类型不匹配”;)是的,我搜索了与此相关的Netbeans文档,但没有成功。嗯,它似乎不标准,也没有文档(我猜你也搜索过)。这是不好的。@SuppressWarnings(“PublicField”)在NetBeans 8.2中工作。