小编Gua*_*sta的帖子

javax.annotation.Nonnull vs assert

我在方法参数上使用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在启用时在执行期间处于活动状态,因此两个不是替代.

java assert findbugs null-check

14
推荐指数
2
解决办法
2万
查看次数

标签 统计

assert ×1

findbugs ×1

java ×1

null-check ×1