为什么FindBugs忽略了我对null的检查



有人能解释一下为什么这会引发findbug警告吗:

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

这是有效的:

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

警告:由于被调用方法的返回值,可能会取消空指针引用。

有没有可能告诉FindBugs示例1不应该是一个警告?

可能是因为m.getModifiedDate()在第一次调用时可以返回非null值,但在第二次调用时返回null值?

最新更新