intellij-idea 在Intellij IDEA中实现方法时,使用org.jetbrains.annotation.NotNull而不是javax.annotation.Nonnull

t98cgbkg  于 2022-11-01  发布在  IntelliJ IDEA
关注(0)|答案(2)|浏览(354)

在最近的JetBrains Intellij IDEA更新之后,我发现当我试图实现用javax.annotation.Nonnull注解的方法时,IDE用org.jetbrains.annotation.NotNull来实现它。
示例:
如果有接口:

import javax.annotation.Nonnull;

interface User {

    @Nonnull
    String getName();
}

它将被实现为:

import org.jetbrains.annotations.NotNull;

class Customer implements User {

    @NotNull
    @Override
    public String getName() {
        return null;
    } 
}

问题是如何配置IDE来实现带有严格验证注解的方法?

x759pob2

x759pob21#

看起来像是一个缺陷(https://youtrack.jetbrains.com/issue/IDEA-253324),但存在一个解决方法:Inspections > Java > Probable bugs > Nullability problems > @NotNull/@Nullable problems > Configure Annotations .将javax.annotation.Nullable/javax.annotation.Nonnull设置为缺省值,然后重新启动IDE.

g6baxovj

g6baxovj2#

要将带有注解的库添加到Gradle项目,请将实现org.jetbrains:annotations:23.0.0依赖项添加到build.gradle文件。

相关问题