在 Intellij IDEA 中实现方法时 org.jetbrains.annotations.NotNull 而不是 javax.annotation.Nonnull
org.jetbrains.annotations.NotNull instead of javax.annotation.Nonnull when implement method in Intellij IDEA
在最近的 JetBrains Intellij IDEA 更新之后,我发现当我尝试实现用 javax.annotation.Nonnull 注释的方法时 - IDE 改为用 org.jetbrains.annotations.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来实现带有严格验证注解的方法?
看起来像是一个缺陷 (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。
要将带注释的库添加到 Gradle 项目,请将实现 org.jetbrains:annotations:16.0.2
依赖项添加到 build.gradle
文件。
在最近的 JetBrains Intellij IDEA 更新之后,我发现当我尝试实现用 javax.annotation.Nonnull 注释的方法时 - IDE 改为用 org.jetbrains.annotations.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来实现带有严格验证注解的方法?
看起来像是一个缺陷 (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。
要将带注释的库添加到 Gradle 项目,请将实现 org.jetbrains:annotations:16.0.2
依赖项添加到 build.gradle
文件。