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

回答編集履歴

1

new Account() のコンストラクタ引数を書き換え

2020/03/08 16:47

投稿

Mirko_Mug_Cup
Mirko_Mug_Cup

スコア56

answer CHANGED
@@ -89,7 +89,7 @@
89
89
  さて、比較処理において、”どちらが小さく、どちらが大きいか”が分かれば良いのですが、sort() メソッドはどのクラス型の比較なのか分からないため、比較のしようがありません。この比較方法を知っているのは誰かと言うと… 当然呼び出し側となりますよね。だって呼び出す側は何のクラス型か、を知っている訳ですから。
90
90
 
91
91
  ```Java
92
- List<Account> list = Arrays.asList(new Account("a1", 3), new Account("a2", 1), new Account("a3", 2));
92
+ List<Account> list = Arrays.asList(new Account("First", 3), new Account("Second", 1), new Account("Third", 2));
93
93
  Sorter.sort(list); // ← ソートメソッドの呼び出し
94
94
  ```
95
95
  呼び出し側が Account クラスで並び替えることを知っていて、更に number で比較したい、と考えている訳です。つまり2つのAccountオブジェクトをどう比較すればよいか、を知っているのです。で、あれば比較処理だけ呼び出し側に任せよう、となるのです。