IntelliJ建议错误的@NotNull注释

时间:2015-07-06 10:27:14

标签: java intellij-idea code-inspection

IntelliJ建议在以下程序中导入com.sun.istack.internal.NotNull @NotNull注释(这是错误的):

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

尝试正确导入时com.intellij.annotations.NotNull(我认为)看起来似乎无法找到该类:

enter image description here

4 个答案:

答案 0 :(得分:3)

在添加注释之前,您可以在警告上按Alt + Enter,按“向右”,选择“编辑检查设置”,然后选择“配置注释”并指定要在其中插入的注释。

答案 1 :(得分:2)

从代码中删除导入。 IntelliJ会要求您再次导入它。它应该表明有多种选择。您想要的注释应该在列表中。

答案 2 :(得分:2)

我发现在我能够导入build.gradleorg.jetbrains.annotations.NotNull注释而不是org.jetbrains.annotations.Nullable之前,我必须将以下依赖项声明添加到我的Java项目的com.sun.istack.internal.NotNull文件中和com.sun.istack.internal.Nullable注释:

repositories {
    mavenCentral()
}

dependencies {
    compile 'org.jetbrains:annotations:15.0'
}

答案 3 :(得分:0)

对于更高版本的Intellij,使用Cmd+Shift+A(在MacOS上)调出Find Actions菜单,然后键入Configure annotations,选择建议调出Compiler偏好设置窗口。

然后单击选项Configure annotations旁边的Add runtime assertions for notnull-annotated methods and parameters按钮。然后,它将显示NonNull和Nullable配置默认值的列表。选择您想要的默认值,然后使用复选按钮将其设置为默认值。