Intellij抑制警告

时间:2014-08-10 23:56:22

标签: intellij-idea

我试图在我的代码中抑制警告的实例。我使用intellij功能alt-enter将抑制警告注释添加到方法中,也尝试使用该类。但每当我点击重建按钮时,警告就会一直显示,就好像抑制警告注释未被识别一样。

我已经阅读了一些建议完全禁用的答案,或者您可以使用此表示法来抑制个人输入。我知道我可以通过设置完全禁用它,但我只是压制这个实例。有谁知道为什么它不能抑制警告?

Information:Using Eclipse compiler to compile java sources
Information:Compilation completed successfully with 1 warning in 9 sec
Information:0 errors
Information:1 warning
...TagValidator.java
Warning:(41, 16) java: Type safety: Unchecked cast from java.lang.Object to java.util.List<common.model.Tag>

有问题的方法:

@SuppressWarnings("unchecked")
    @Override
    public void validate(Object target, Errors errors) {
        logger.entry();

        List<Tag> list;

        list = (List<Tag>) target;

        for (Tag tag : list) {
            if (tag.getTag().length() > 30) {
                errors.rejectValue("tags", "tags.length");
                break;
            }

        }
        logger.exit();
    }

1 个答案:

答案 0 :(得分:1)

这似乎是eclipse(ejc)编译器的一个问题。使用javac编译器时,make / compilation上不会出现警告。但是如果你切换到eclipse编译器,那么你会收到警告。在(已关闭的)IntelliJ IDEA错误报告ecj doesn't use @SuppressWarnings中,JetBrains开发团队表示

  

IDEA将此类抑制用于其自身的错误突出显示,这与编译器无关。同样,它按原样运行外部编译器,没有任何干扰。

所以IDEA并没有做任何事情来告诉ejc不要使用/尊重SuppressWarnings注释。