javax.annotation:@Nullable与@CheckForNull

两者有什么区别?两者似乎都意味着该值可以为null,因此应进行相应处理,即检查是否为null。

上面的两个注释是JSR-305 /

FindBugs的一部分:http :

//findbugs.sourceforge.net/manual/annotations.html

回答:

我认为从添加的链接中可以很清楚地看到:如果您使用@CheckForNull并且使用该值的代码未检查null,FindBugs会将其显示为错误。

FindBugs将忽略@Nullable

实际上,此注释仅在覆盖总体NonNull注释时有用。

@CheckForNull在必须始终检查该值的情况下使用。@Nullablenull可能可以的地方使用。

编辑:目前似乎@CheckForNull还没有很好的支持,所以我建议避免使用它@NonNull另一个想法是直接与FindBugs开发人员联系,并询问他们对文档不一致的意见。

以上是 javax.annotation:@Nullable与@CheckForNull 的全部内容, 来源链接: utcz.com/qa/429941.html

回到顶部