Java 通过PMD发出的错误等于警告

Java 通过PMD发出的错误等于警告,java,nullpointerexception,nullreferenceexception,pmd,Java,Nullpointerexception,Nullreferenceexception,Pmd,对于以下代码 boolean changed = null == oldValue? oldValue != newValue : !oldValue.equals(newValue); 我得到PMD警告:“使用equals()来比较对象引用”。但是如果我遵循这个建议,我会得到一个NPE。这是PMD规则的缺陷还是我的编程风格太差了?只需稍作修改: boolean changed = null == oldValue ? newValue != null : !oldValue.equals(n

对于以下代码

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

我得到PMD警告:“使用equals()来比较对象引用”。但是如果我遵循这个建议,我会得到一个NPE。这是PMD规则的缺陷还是我的编程风格太差了?

只需稍作修改:

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

好主意。非常感谢。没问题。快乐编码:-)