14

似乎有很多不同的注解来指示 Java 中方法参数和返回值的可空性状态,并且情况一直在发展。

2013 年注释我的可空性方法的最佳实践是什么?

我知道这个问题,但它是从 3 年前开始的,我怀疑从那时起情况发生了变化:

我应该使用哪个 @NotNull Java 注释?

我个人使用 IntelliJ IDEA,但希望有一个不会将我的项目与该 IDE 绑定的解决方案。我使用 Maven 进行依赖管理。

4

2 回答 2

4

AFAIK,几乎标准的库是 com.google.code.findbugs:jsr305。例如,它是 Guava 使用的那个。FindBugs 支持它,这可能是最常用的字节码分析工具。

IntelliJ 也支持这些注释。

于 2013-06-08T21:25:22.407 回答
1

有这么多的原因是防御性编程和输入验证之间存在差异。

@NotNull 是 Java bean 验证框架 JSR 303。@Nullable 是 JSR 305,用于防御性编程/合同设计。

Find bugs guava 一个是事实上的 JSR 305。Hibernate 提供了许多事实上的 JSR 303。

于 2013-06-08T23:13:55.167 回答