我有一个关于Java中@Nullable
注解用法的问题。
据我所知,在可能返回空值的方法上设置是一个很好的实践。这样,集成开发环境可以帮助检测一些空指针异常错误,或者建议在使用@NotNull
的情况下删除不必要的空指针异常检查。
到目前为止一切顺利,但是如何使用@Nullable
作为方法参数呢?这是不是一种好的做法,或者代码会变得更加冗长(如果与final
一起使用),并且好处可能会丢失,因为您并不总是知道将哪些参数传递给函数调用?另外,您对将@Nullable
与setter方法一起使用有什么看法?
这个用法与在公司工作时的情况有关,而不是与小项目(如家庭作业)有关。
发布于 2014-04-10 20:40:00
对于自己的小项目来说,你不需要使用这个。但在为他人创建库时,这可能有助于您的API用户编写健壮的应用程序。国际海事组织
正如我在评论中所写的:查看nullable annotation usage可以很好地回答这个特定的问题。
发布于 2014-04-10 20:57:45
@Nullable的用法是让用户和编译器知道允许空值作为该参数是可以接受的。
我相信这是一种更直接的方式,让查看您的API的用户知道传递null不会创建NPE或未定义的行为。
对于setter,如果要在很多地方使用该字段,最好查看它的setter,并发现处理了null。
也就是说,我认为它应该只用于API或库,在你自己的代码中使用它们会产生太多无用的代码。
https://stackoverflow.com/questions/22988243
复制相似问题