@Nullable 注解用法
我看到java中的一些方法声明为:
I saw some method in java declared as:
void foo(@Nullable Object obj)
{ ... }
这里的@Nullable
是什么意思?这是否意味着输入可能是null
?
What's the meaning of @Nullable
here? Does it mean the input could be null
?
没有注解,输入仍然可以为空,所以我猜不只是它?
Without the annotation, the input can still be null, so I guess that's not just it?
推荐答案
明确了方法接受空值,如果你重写了方法,你也应该接受空值.
It makes it clear that the method accepts null values, and that if you override the method, you should also accept null values.
它还可以作为 FindBugs 等代码分析器的提示.例如,如果此类方法取消引用其参数而不首先检查 null,则 FindBugs 将发出警告.
It also serves as a hint for code analyzers like FindBugs. For example, if such a method dereferences its argument without checking for null first, FindBugs will emit a warning.
相关文章