@可为空的注释用法

我看到java中的一些方法声明为:

void foo(@Nullable Object obj)
{ ... }

这里的@Nullable是什么意思?这是否意味着输入可能是空的

如果没有注释,输入仍然可以为null,所以我想这不仅仅是它

它清楚地表明,该方法接受空值,如果重写该方法,则还应接受空值

它还可以作为代码分析器的提示,如FindBugs。例如,如果这样一个方法在没有首先检查null的情况下取消引用其参数,FindBugs将发出警告

发表评论