我在方法参数上使用Findbugs和javax.annotation.Nonnull.
在私有方法上,我通常添加一个断言行来检查null
private void myMethod(@Nonnull String str) {
assert str != null
....
Run Code Online (Sandbox Code Playgroud)
最新的Netbeans版本(7.3rc2)报告断言检查不是必需的(因为Nonnull注释).我不完全确定这是一个Netbeans错误.
可以删除断言行,因为我指定了@Nonnull注释吗?
据我所知,注释仅在静态分析期间使用,而assert在启用时在执行期间处于活动状态,因此两个不是替代.