equals()
私はEffective Javaで、メソッドの5番目の原則は、すべてのオブジェクトが等しくない必要があるということを読んだばかりnull
です。この本は、プログラマーによって書かれたいくつかのクラスは、明示的なテストを使用してこれを防御していると述べていますnull
。
public boolean equals(Object o){
if (o == null)
return false;
...
}
Effective Java によれば、上記の not null テストは不要です。しかし、私の質問は、なぜ多くのプログラマーがこの無効でない要件をテストするのでしょうか?