Why is FindBugs ignoring my check for null?

2020-08-26 04:00发布

问题:

Can anyone explain me why this throws a findbug warning:

if (m != null && m.getModifiedDate() != null)
    content.put("ModifiedDate", m.getModifiedDate().getTime());

and this is working:

if(m != null){
    Date date = m.getModifiedDate();
    if (date  != null)
        content.put("ModifiedDate", date .getTime());
}

Warning: Possible null pointer dereference due to return value of called method.

Is there a possibilty to tell FindBugs that Example number 1 should not be a warning?

回答1:

Possibly because m.getModifiedDate() could return a non-null value on the first call, but a null value on the second?