2014-05-15 37 views
2

對於下面的代碼PMD等於警告正確嗎?

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

我得到的PMD警告: 「使用equals()方法來比較對象引用」。但如果我遵循這個提議,我會得到一個NPE。這是PMD規則的缺陷還是我的編程風格很糟糕?

回答

5

只要改變一點點:

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

好主意。謝謝! –

+0

沒有問題。快樂編碼:-) –