不推荐使用edu.umd.cs.findbugs.annotations吗?我应该将什么用于空注释?

时间:2012-07-12 20:47:51

标签: java null annotations

我是Java的新手,刚刚发现了@Nullable和其他类似的注释,所以我尝试了它们。

我首先尝试了Eclipse中包含的那些,但他们不允许我将它们用于字段,这使我认为某些字段可能为null,而它们显然不能。

顺便说一下,我默认使用这个东西制作@NonNull。

然后,我尝试了findbugs(edu.umd.cs.findbugs.annotations),但显然,整件事已被弃用(http://findbugs.sourceforge.net/api/edu/umd/cs/findbugs/annotations/package-summary.html)。

我应该使用什么?

1 个答案:

答案 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?