NP_NULL_PARAM_DEREF _ NONVIRTUAL:我不明白或误报

时间:2014-07-17 14:22:28

标签: java findbugs false-positive

Findbugs在以下语句中触发NP_NULL_PARAM_DEREF_NONVIRTUAL

我无法弄清楚为什么findbugs将registerationdate识别为非空参数。我可以看到第二个构造函数检查registerationdate的nullness。因此,null deref是不可能的。

这个错误,误报或者findbugs有另一种机制来检查参数的非空缺吗?

非常感谢, 扎赫拉

Participant seppl = new Participant( "Mayer", "Seppel", null);

Participant has two constructors:
public Participant() {      
    surname = "";
    forename = "";      
    registrationDate = new Date();      
}

public Participant (String surname, String forename, Date registrationDate) {

    setSurname(surname);
    setForename(forename);      
    setRegistrationDate(registrationDate);      
 }

 public void setRegistrationDate (Date registrationDate) {
    if (registrationDate != null
            && !registrationDate.equals(this.registrationDate)) {
        this.registrationDate = registrationDate;           

    }
    }

1 个答案:

答案 0 :(得分:0)

由于 这都怪我... 当我添加" registrationDate!= null"虫子消失了..