【问题标题】:Globally suppressing a warning type in Eclipse在 Eclipse 中全局抑制警告类型
【发布时间】:2011-12-10 23:56:32
【问题描述】:

我有一个使用 Eclipse 开发的 Java 应用程序。我有数百个警告都是由于这样的事情:

ArrayList< SomeType > list = new ArrayList();

生成 ArrayList 是原始类型的警告,因为我在分配 ArrayList 本身时没有包含类型说明符。有没有办法在 Eclipse 中全局禁止此警告,而不是添加 @SuppressWarning 注释?

我担心我错过了一个可能更有价值的警告,因为所有这些原始类型的警告。

【问题讨论】:

  • 为什么不修复原始类型警告?
  • 因为我知道我对被警告不感兴趣。我很少显式键入分配的泛型,因为它只是 IIRC 的编译时限制。我只是不想要像我真正关心的那样掩盖警告的大量警告。
  • 好吧,你应该尽可能使用原始类型。来自规范:The use of raw types in code written after the introduction of genericity into the Java programming language is strongly discouraged. It is possible that future versions of the Java programming language will disallow the use of raw types.

标签: java eclipse suppress-warnings


【解决方案1】:

可以通过导航更改设置 -

project properties -> Java Compiler -> Errors/Warnings -> Generics types

启用 - 启用项目特定设置

将警告更改为忽略。

【讨论】:

    【解决方案2】:

    就这样做吧-

    @SuppressWarnings("rawtypes")
    ArrayList< SomeType > list = new ArrayList();
    

    警告将被删除。

    【讨论】:

      【解决方案3】:

      您可以使用-Xlint:unchecked 命令行选项,但这与@SuppressWarnings("unchecked") 相同,顺便说一句,可以将其用于单独的任务,例如

      @SuppressWarnings("unchecked") 
      ArrayList< SomeType > list = new ArrayList();
      

      但是,我强烈建议在可能的情况下修复这些警告,并仅在您确定的特定情况下禁止它们。

      【讨论】:

        【解决方案4】:

        我在包含大量生成文件的目录中遇到了这个问题。在这种情况下,可以按目录关闭警告。在包资源管理器中,右键单击目录,然后选择

        Properties -> Java Compiler -> Ignore optional compile problems
        

        请注意,这也会关闭其他警告 - 但对于生成的代码,无论如何都必须通过更改生成器来修复这些警告。

        【讨论】:

          猜你喜欢
          • 2011-11-07
          • 2013-04-18
          • 2011-04-17
          • 2023-04-05
          • 1970-01-01
          • 2011-03-16
          • 2021-08-28
          • 1970-01-01
          • 2013-08-02
          相关资源
          最近更新 更多