我刚刚更新了项目,将build.gradle
与Spring Boot 2.0.3
一起使用。
现在我看到Spring Framework 5.0.7
方法中的某些参数已用Spring闪亮的新MessageSource
注释进行了注释。但是由于有此注释,IDEA 14表示适当的参数不能为@Nullable
( SURPRISE!)。
据我了解,这是因为null
带有@Nullable
的注释:
@Nonnull
用逻辑上相反的标记标记注释的原因是什么?
答案 0 :(得分:0)
正如@StephanHerrmann所解释的,它与原始JSR有关。
因此,我们的想法是在某些情况下允许使用null
值-只是为了使代码能够自我记录。
javax.annotation.Nullable
中实际上使用了类似的方法:
@Documented
@TypeQualifierNickname
@Nonnull(when = When.UNKNOWN)
@Retention(RetentionPolicy.RUNTIME)
public @interface Nullable {
}
在最新的IDEA版本中,out of the box支持(或将支持此注释)。 要修复旧版本中的IDEA警告,您只需add the Spring's annotation manually。