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

标签 intellij-idea jetbrains-ide java-annotations

在最近的 JetBrains Intellij IDEA 更新之后,我发现当我尝试实现使用 javax.annotation.Nonnull 注释的方法时 - IDE 使用 org.jetbrains.annotations.NotNull 来实现它。
例子:
如果你有一个接口(interface):

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。

关于intellij-idea - 在 Intellij IDEA 中实现方法时,org.jetbrains.annotations.NotNull 而不是 javax.annotation.Nonnull,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64429995/

相关文章:

java - Java 会自动缓存注释和类元数据吗?

java - 为什么 IntelliJ IDEA (12.1.6) 无法解析 BorderFactory.createLineBorder(...)?

java - Visual Studio代码-Java- Lombok -该类型的方法未定义

scala - 获取 "most specific"输入类型

intellij-idea - IntelliJ IDEA-Enter无法在“到处搜索”中打开文件

java - IntelliJ IDE 悬停 - 什么都不提供?

jetbrains-ide - 在 JetBrains 的 IDE 中打印选择光标索引

java - 关于Processor接口(interface)的process(...)方法中定义的参数

java - Intellij idea 2022.1.3 ultimate 显示错误java : JPS incremental annotation processing is disabled

java - 我如何指示 IntelliJ Idea 不包含某些依赖项(android)