我在Java中看到一些声明为的方法:
void foo(@Nullable Object obj) { ... }
有什么意义@Nullable吗?这是否意味着输入可能是null?
@Nullable
null
如果没有注释,输入仍然可以为null,所以我猜不仅仅是吗?
它清楚地表明该方法接受空值,并且如果您覆盖该方法,则还应该接受空值。
它也为诸如FindBugs之类的代码分析器提供了提示。例如,如果这样的方法取消引用其参数而不先检查null,则FindBugs将发出警告。