我是 Java 的新手,刚刚发现了 @Nullable 和其他类似的注释,所以我尝试了它们。
我首先尝试了 Eclipse 中包含的那些,但它们不允许我将它们用于字段,这让我认为某些字段可以为 null,而实际上它们显然不能。
顺便说一下,我用它来默认将所有内容都设为@NonNull。
然后,我尝试了 findbugs (edu.umd.cs.findbugs.annotations),但显然,整个事情都被弃用了 (http://findbugs.sourceforge.net/api/edu/umd/cs/findbugs/annotations/package-summary.html)。
我应该使用什么?
最佳答案
当某些内容被标记为 @Deprecated
时,通常会在 Javadoc 中为已弃用的声明提供替代方案。
在这种情况下,HTML 格式的 Javadoc 使您失望:它没有显示替代类的完全限定类名,因此您会看到类似
Nullable: Deprecated. -Use Nullable instead
这不是很有帮助。
那么让我们看看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?
关于java - edu.umd.cs.findbugs.annotations 已弃用?我应该为空注释使用什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11460413/