4

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

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

顺便说一句,我默认使用这个东西来制作所有@NonNull。

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

我应该用什么?

4

1 回答 1

4

当某些东西被标记为@Deprecated时,Javadoc 中通常会为已弃用的声明提供替代方案。

在这种情况下,HTML 格式的 Javadoc 让你失望了:它没有显示替代的完全限定类名,所以你会看到类似

可空:已弃用。- 使用 Nullable 代替

这不是很有帮助。

所以让我们看一下Nullable.java 的源代码

/**
 * The annotated element could be null under some circumstances.
 * 
 * ...
 * 
 * @deprecated - use {@link javax.annotation.Nullable} instead. 
 **/

啊哈:javax.annotation.Nullable我们应该使用它。但这是一个更大的问题。我建议你看这里:我应该使用哪个 @NotNull Java 注释?

于 2012-07-12T21:34:28.820 回答