Java 空值的不必要测试意味着什么?

Java 空值的不必要测试意味着什么?,java,null,expression,Java,Null,Expression,用下面的方法, public void setDescription(最终字符串描述){ this.description=描述; if(this.description==null | | this.description.isEmpty()){ this.description=“[description]”; } } NetBeans在部分显示提示。description==null 对null不必要的测试-表达式从不为null 这是什么意思?我错过了什么 更新 我有另一种情况,有同样

用下面的方法,

public void setDescription(最终字符串描述){
this.description=描述;
if(this.description==null | | this.description.isEmpty()){
this.description=“[description]”;
}
}
NetBeans在
部分显示提示。description==null

对null不必要的测试-表达式从不为null

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


更新

我有另一种情况,有同样的暗示

类用户{
public void setUsername(最终字符串用户名){

如果(this.username!=null){/您描述的行为与


在netbeans 7.3.1之前,应该一直修补该错误。我在netbeans 8.0.2中测试了您的代码,但没有显示任何提示。

netbeans显示此消息,因为这意味着字符串从不为
null
,您可以删除此检查。但我无法说明原因。请告诉我们如何调用
setDescription()
我认为这是一个bug,应该被忽略。除非该方法是私有的,否则Netbeans无法知道它已经看到了所有的调用站点,因此也无法知道参数从不为null。这是一个非常奇怪的代码。您将一个明确的
null
更改为一个模糊的
“[说明]”
。你是否尝试过清理/重建你的代码。这确实很奇怪。@Jin-Kwon你能检查一下我的答案是否正确吗?新一代的同类代码。
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;
}