teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

中途半端なものが投稿されたので再修正

2020/02/16 02:50

投稿

maisumakun
maisumakun

スコア146628

answer CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  このメソッドのシグネチャが`equals(Object o)`と渡ってくるように、`o`には**任意のオブジェクト**が渡ってくる可能性があります。そして、`equals`の実装ルールとして、
4
4
 
5
- * ~~`o`に(`null`を含め)どのような引数を渡しても、例外になってはならない)~~
5
+ * ~~`o`にどのような引数を渡しても、例外になってはならない)~~
6
6
  * `o`に`null`が渡された場合は`false`を返す
7
7
  * `a`も`b`も`null`でない場合は、`a.equals(b)`と`b.equals(a)`の結果は一致しなければならない
8
8
 

1

例外を発生させないのは要求ではなかった

2020/02/16 02:50

投稿

maisumakun
maisumakun

スコア146628

answer CHANGED
@@ -2,7 +2,8 @@
2
2
 
3
3
  このメソッドのシグネチャが`equals(Object o)`と渡ってくるように、`o`には**任意のオブジェクト**が渡ってくる可能性があります。そして、`equals`の実装ルールとして、
4
4
 
5
- * `o`に(`null`を含め)どのような引数を渡しても、例外になってはならない(`null`のときは`false`を返す
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`を返す」実装が行われています。