PMD等于警告错误?

Ser*_*kyy 2 java pmd

对于以下代码

boolean changed = null == oldValue? oldValue != newValue : !oldValue.equals(newValue);
Run Code Online (Sandbox Code Playgroud)

我收到PMD警告:"使用equals()来比较对象引用".但如果我遵循这个提议,我会得到一份NPE.这是PMD规则的错误还是我的编程风格简直不好?

Ale*_*Suo 5

只需稍微改变一下:

boolean changed = null == oldValue ? newValue != null : !oldValue.equals(newValue);
Run Code Online (Sandbox Code Playgroud)