如何在 Eclipse-Helios JDT 中专门禁止显示“比较相同的表达式”

我尝试用

    @SuppressWarnings("compareIdentical")

但这不起作用(更糟糕的是,注释会导致自己的警告!Unsupported @SuppressWarnings("compareIdentical")

我知道我总是可以使用

    @SuppressWarnings("all")

但这比我想要的更能抑制警告。

FWIW,我从 http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.jdt.doc.isv/guide/jdt_api_compile.htm 的“警告选项”表中获得了“compareIdentical”字符串(可以肯定的是,这是一个冰雹玛丽通行证)。

谢谢!


答案 1

官方说法是,只有 3 个受支持的参数,如标准 $9.6.4.5 所指定:@SuppressWarnings()

  • 未选中的警告(§4.8、§5.1.6、§5.1.9、§8.4.1、§8.4.8.3、§15.12.4.2、§15.13.2、§15.27.3)由字符串指定。"unchecked"
  • 弃用警告 (§9.6.4.6) 由字符串 指定。"deprecation"
  • 删除警告 (§9.6.4.6) 由字符串 指定。"removal"

但是,在小文本中,该标准提到了对额外类型的支持:

对于其他类型的警告,编译器供应商应记录他们支持的字符串。鼓励供应商合作,以确保相同的名称在多个编译器中工作。@SuppressWarnings

一些编译器支持这些:

  • all禁止显示所有警告
  • boxing禁止显示与装箱/取消装箱操作相关的警告
  • cast禁止显示与强制转换操作相关的警告
  • dep-ann禁止显示与已弃用的批注相关的警告
  • deprecation禁止显示与弃用相关的警告
  • fallthrough以禁止显示与 switch 语句中缺少断点相关的警告
  • finally以抑制相对于最终阻止不返回的警告
  • hiding禁止显示相对于隐藏变量的局部变量的警告
  • incomplete-switch以禁止显示与 switch 语句中缺少的条目相关的警告(枚举大小写)
  • nls禁止显示与非 nls 字符串文本相关的警告
  • null禁止显示与空分析相关的警告
  • raw禁止显示与原始类型使用相关的警告
  • restriction禁止显示与使用不鼓励或禁止的引用相关的警告
  • serial禁止显示与可序列化类的串行版本 UID 字段相关的警告
  • static-access禁止显示与不正确的静态访问相关的警告
  • super禁止显示与在没有超级调用的情况下重写方法相关的警告
  • synthetic-access禁止显示与来自内部类的未优化访问相关的警告
  • unchecked以禁止显示与未选中操作相关的警告
  • unqualified-field-access以禁止显示与字段访问不合格相关的警告
  • unused禁止显示与未使用的代码和死代码相关的警告

因此,没有什么可以帮助您。


答案 2

推荐