Вопрос

For the following code

boolean changed = null == oldValue? oldValue != newValue : !oldValue.equals(newValue);

I get the PMD warning: "Use equals() to compare object references". But if I follow this proposal, I'll get a NPE. Is it a bug of PMD rule or my programming style is simply bad?

Это было полезно?

Решение

Just change it a little bit:

boolean changed = null == oldValue ? newValue != null : !oldValue.equals(newValue);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top