Почему FindBugs игнорирует мою проверку на ноль? - PullRequest
8 голосов
/ 23 марта 2012

Может кто-нибудь объяснить мне, почему это выдает предупреждение 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 не должен быть предупреждением?

1 Ответ

15 голосов
/ 23 марта 2012

Возможно, потому что m.getModifiedDate() может возвращать ненулевое значение при первом вызове, но нулевое значение при втором?

...