2013-01-09 67 views

回答

6

是,equals()應該處理null在這種情況下,它應該返回falseObject.equals()記載:

對於任何非空引用值xx.equals(null)應該返回false

當然,如果xnullx.equals(null)將不會返回true但它會拋出NullPointerException。如果您需要比較兩個可能null引用看看Objects.equals(Object, Object)

Objects.equals(x, x); 

上面總是true,即使x == null

+1

+1在提及空值時返回什麼 – PermGenError

5

這是一種公開的方法。只要調用者將空值傳遞給它,它就可以爲null。你必須適當地處理這種情況。