回答編集履歴
2
中途半端なものが投稿されたので再修正
answer
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
このメソッドのシグネチャが`equals(Object o)`と渡ってくるように、`o`には**任意のオブジェクト**が渡ってくる可能性があります。そして、`equals`の実装ルールとして、
|
4
4
|
|
5
|
-
* ~~`o`に
|
5
|
+
* ~~`o`にどのような引数を渡しても、例外になってはならない)~~
|
6
6
|
* `o`に`null`が渡された場合は`false`を返す
|
7
7
|
* `a`も`b`も`null`でない場合は、`a.equals(b)`と`b.equals(a)`の結果は一致しなければならない
|
8
8
|
|
1
例外を発生させないのは要求ではなかった
answer
CHANGED
@@ -2,7 +2,8 @@
|
|
2
2
|
|
3
3
|
このメソッドのシグネチャが`equals(Object o)`と渡ってくるように、`o`には**任意のオブジェクト**が渡ってくる可能性があります。そして、`equals`の実装ルールとして、
|
4
4
|
|
5
|
-
* `o`に(`null`を含め)どのような引数を渡しても、例外になってはならない
|
5
|
+
* ~~`o`に(`null`を含め)どのような引数を渡しても、例外になってはならない)~~
|
6
|
+
* `o`に`null`が渡された場合は`false`を返す
|
6
7
|
* `a`も`b`も`null`でない場合は、`a.equals(b)`と`b.equals(a)`の結果は一致しなければならない
|
7
8
|
|
8
9
|
というものがあります([Oracle](https://docs.oracle.com/javase/jp/8/docs/api/java/lang/Object.html#equals-java.lang.Object-))。これを守るために、「他の型のオブジェクト(もしくは`null`)が来た場合は`false`を返す」実装が行われています。
|