什么不必要的null测试意味着什么?

时间:2015-02-09 07:16:43

标签: java null expression

使用以下方法,

public void setDescription(final String description) {

    this.description = description;

    if (this.description == null || this.description.isEmpty()) {
        this.description = "[description]";
    }
}

NetBeans显示 this.description == null 部分提示

的提示
  

对null的不必要测试 - 表达式永远不为空

这是什么意思?我错过了什么?


更新

我有另一种情况,有相同的(某种)提示。

class User {

    public void setUsername(final String username) {
        if (this.username != null) { // <-- right here!
            throw new IllegalStateException(
                "already has a username");
        }
        this.username = username;
    }

    @NotNull
    private String username;
}

NetBeans显示部件this.username != null的相同文本提示。在这种情况下,NetBeans监督@NotNull。如果您有兴趣,请跟踪以下问题。

https://netbeans.org/bugzilla/show_bug.cgi?id=262707

1 个答案:

答案 0 :(得分:2)

您描述的行为与Bug 226923 - Wrong warning 'the expression is never null'

相关联

应该修补bug,直到netbeans 7.3.1。我在netbeans 8.0.2中测试你的代码,没有提示。