喜欢:
public TestBean check(@NonNull TestBean abc) {
System.out.println();
return abc;
}
@NonNull
api doc说:
表示参数,字段或方法返回值永远不能为空
我有一个问题:如果abc为null,为什么它会执行这个方法?
答案 0 :(得分:1)
这些注释可能由代码分析工具(和IDE)和文档使用。它们不是由运行时强制执行的。
此处的android支持工具包文档中给出了一个示例:http://tools.android.com/tech-docs/support-annotations
新Android Studio支持这些注释,链接中的屏幕截图。
Java 8引入了类似的注释,this documentation更详细地介绍了这些注释如何与工具和IDE协同工作,以帮助开发人员更早地发现问题。在普通的Java中,您可以使用Bean Validation API在运行时以声明方式强制执行空检查,我不知道Android中是否存在任何类似的功能。
答案 1 :(得分:0)
它们只是让您更容易在代码时间内检查底层的NULL点异常。