当前位置: 首页 > 知识库问答 >
问题:

组合多个@SuppressWarnings注释-Eclipse Indigo

糜昌胤
2023-03-14

因此,问题是能够组合多个警告抑制,以便每个项目不需要自己的@SuppressWarnings注释。

举个例子:

public class Example
    public Example() {
        GO go = new GO();  // unused
        ....
        List<String> list = ( List<String> ) go.getList(); // unchecked
    }
    ...
    // getters/setters/other methods
}

现在,我不想有两个< code>@SuppressWarnings,而是希望在类级别上有一个用于这两个警告,就像这样:

@SuppressWarnings( "unused", "unchecked" )
public class Example
    public Example() {
        GO go = new GO();  // unused - suppressed
        ....
        List<String> list = ( List<String> ) go.getList(); // unchecked - suppressed
    }
    ...
    // getters/setters/other methods
}

但这不是一个有效的语法,有办法做到这一点吗?

共有2个答案

齐元章
2023-03-14

如果查看注释内部,您将看到以下内容:

public @interface SuppressWarnings {
    String[] value();
}

如您所见,值参数是字符串的数组...因此,注释中的参数可以是:值1,值2或值3,其中

final String[] value1 = { "a1" };
final String[] value2 = { "a1", "a2" };
final String[] value3 = { "a1", "a2", "a3" };

即:

@SuppressWarnings({"unused"})
@SuppressWarnings({"unused", "javadoc"})

你经常可以看到这样的东西

@SuppressWarnings("unused") 

这是一种特殊情况,允许一个元素没有“{}”

洪黎昕
2023-03-14

使用以下命令:@SuppressWarnings({“未使用”、“未选中”})

 类似资料:
  • 问题内容: 因此,问题在于能够结合多种警告抑制,使每个项目都不需要它自己的注释。 因此,例如: 现在,我不想在班级针对这两个警告设置两个警告,而是这样: 但这不是有效的语法,有没有办法做到这一点? 问题答案: 使用以下内容:

  • 问题内容: 我为我写了一个 对于每个我使用以下注释 因此,我决定定义自己的注释女巫,其中包含所有这样的注释 然后,我只用了一个注释 修改后,测试失败 为了使其再次工作,需要我将其添加到 我的问题是为什么我的注释包含注释时不起作用?注释有什么特别之处吗?还是我错过了什么? PS:我使用相同的方法,它们也很好用。 问题答案: 这种机制是Spring框架特有的,在这种机制中,您可以使用本身带有其他注释的

  • 我正在尝试为我的类禁用几个任意PMD警告。 如何列出要忽略的几个PMD规则?我无法用谷歌找到。 它给出了Eclipse编译时错误: 这是可编译的,但被忽略了 这 结果是 Eclipse配置为接受PMD类型: 不支持@SuppressWarnings("PMD. DoNotCallSystemExit")

  • Java 中的 @SuppressWarnings 注解指示被该注解修饰的程序元素(以及该程序元素中的所有子元素)取消显示指定的编译器警告,且会一直作用于该程序元素的所有子元素。例如,使用 @SuppressWarnings 修饰某个类取消显示某个编译器警告,同时又修饰该类里的某个方法取消显示另一个编译器警告,那么该方法将会同时取消显示这两个编译器警告。 @SuppressWarnings 注解主

  • 同时将warning的值设置为“all”或,没有任何结果。 checkstyle的文档很差。一些想法?

  • 因为不可能在同一个目标上有重复的注释,所以我正在研究一种解决方法。我需要的可能是: 我考虑过添加另一个注释@Relates来包含它们,将值成员声明为相对注释的数组。 但是我不能像那样定义数组,因为@Parent和@ Sibling @接口不能扩展任何@Relative超类。 除了定义两个不同的数组Sibling[]Sibling和Parent[] parents之外,还有其他方法吗?但是这将会产生