我看到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.
这篇关于@Nullable 注解用法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
“Char 不能被取消引用"错误quot;Char cannot be dereferencedquot; error(“Char 不能被取消引用错误)
Java Switch 语句 - 是“或"/“和"可能的?Java Switch Statement - Is quot;orquot;/quot;andquot; possible?(Java Switch 语句 - 是“或/“和可能的?)
Java替换字符串特定位置的字符?Java Replace Character At Specific Position Of String?(Java替换字符串特定位置的字符?)
具有 int 和 char 操作数的三元表达式的类型是什么What is the type of a ternary expression with int and char operands?(具有 int 和 char 操作数的三元表达式的类型是什么?)
读取文本文件并存储出现的每个字符Read a text file and store every single character occurrence(读取文本文件并存储出现的每个字符)
为什么我需要在 byte 和 short 上显式转换 char 原语Why do I need to explicitly cast char primitives on byte and short?(为什么我需要在 byte 和 short 上显式转换 char 原语?)