回答編集履歴
1
「二つのオブジェクトの値段の差」の部分の説明を修正しました。
answer
CHANGED
@@ -2,9 +2,11 @@
|
|
2
2
|
|
3
3
|
`this.price`と`b.price`が出てくるのは、それ自体のオブジェクト(=`this`)と別の`b`オブジェクトのそれぞれ`price`を比較する、という意味になります。
|
4
4
|
|
5
|
-
|
5
|
+
...
|
6
6
|
|
7
|
+
二つのオブジェクトの値段の差については、`compareTo`の戻り値を見てみましょう。
|
8
|
+
|
7
|
-
(APIドキュメントの引用)
|
9
|
+
(APIドキュメントの引用 さらに詳しくはリンク先参照)
|
8
10
|
> このオブジェクトが指定されたオブジェクトより小さい場合は負の整数、等しい場合はゼロ、大きい場合は正の整数
|
9
11
|
|
10
12
|
このような仕様になっているため、`this.price - b.price`することで、`this.price`の方が大きければ正の整数になるし、小さい場合は負の整数、等しい場合はゼロになるので、そのまま戻り値に使えるのです。
|