在最近的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来实现带有严格验证注解的方法?
2条答案
按热度按时间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.g6baxovj2#
要将带有注解的库添加到Gradle项目,请将实现
org.jetbrains:annotations:23.0.0
依赖项添加到build.gradle
文件。