我是Java的新手,刚刚发现了@Nullable和其他类似的注释,所以我尝试了它们。
我首先尝试了Eclipse中包含的那些,但他们不允许我将它们用于字段,这使我认为某些字段可能为null,而它们显然不能。
顺便说一下,我默认使用这个东西制作@NonNull。
然后,我尝试了findbugs(edu.umd.cs.findbugs.annotations),但显然,整件事已被弃用(http://findbugs.sourceforge.net/api/edu/umd/cs/findbugs/annotations/package-summary.html)。
我应该使用什么?
答案 0 :(得分:3)
当某些内容被标记为@Deprecated
时,通常会在Javadoc中为已弃用的声明提供替代方案。
在这种情况下,HTML格式的Javadoc让你失望:它没有显示备选方案的完全限定类名,所以你看到像
这样的东西Nullable:已弃用。 - 使用Nullable
哪个不是很有帮助。
让我们看看source for Nullable.java代替:
/**
* The annotated element could be null under some circumstances.
*
* ...
*
* @deprecated - use {@link javax.annotation.Nullable} instead.
**/
啊哈:我们应该使用javax.annotation.Nullable
代替。但这是一个更大的问题。我建议你看看这里:Which @NotNull Java annotation should I use?