未清检验警告--IntelliJ中的“NullableProblems”

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (22)

为什么会从IntelliJ的“NullableProblems”检查中得到这样的警告:

public class Test implements Comparable<Test> {
    @Override
    public int compareTo(Test o) {
        return 0;
    }
}

我正在使用IntelliJ14.1.4并使用Java 1.7进行编译

加法@NotNull在争论无济于事之前:

提问于
用户回答回答于

Comparable.compareTo:

@throws NullPointerException if the specified object is null

因此IntelliJ知道,对象不应该是null并添加一个@NotNull注解:

IntelliJIDEA将仔细查看SDK和库字节码,并自动推断这些注释,以便以后可以用于分析源代码,以发现忽略NULL的地方。

overriden方法不包括这个注释,所以它覆盖此行为使参数为空--与Comparable接口。

可以通过添加@NotNull在参数之前。

还可以通过按Alt+Enter,在弹出菜单中选择警告并选择Disable inspection在子菜单上。

用户回答回答于

这可以在IntelliJIDEA中进行全局配置,对我个人来说是推荐的方法。如果需要,可以添加自己的注释。

javax.validation.constraints.NotNull

设置的路径:

Settings > Editor > Inspections > @NotNull/@Nullable problems > Configure annotations

扫码关注云+社区