【发布时间】:2013-01-26 10:19:21
【问题描述】:
我在方法参数上使用 Findbugs 和 javax.annotation.Nonnull。
在私有方法上,我通常添加一个断言行来检查是否为空
private void myMethod(@Nonnull String str) {
assert str != null
....
最新的 Netbeans 版本 (7.3rc2) 报告断言检查不是必需的(因为 Nonnull 注释)。我不完全确定这是否是 Netbeans 错误。
可以因为我指定了@Nonnull 注释而删除断言行吗?
据我了解,注释仅在静态分析期间使用,而断言在启用时在执行期间处于活动状态,因此两者不可替代。
【问题讨论】:
-
在 Programmers.SE 上查看 related question。
-
lombok.NonNull为您添加代码。
标签: java assert findbugs null-check