このJava チュートリアルから抜粋した次のスニペットは、2 番目の引数オブジェクトを最初のオブジェクトと比較するのではなく、その逆ではありません。*hireDate() メソッドは、その特定の従業員の雇用日を示す Date オブジェクトを返します。
import java.util.*;
public class EmpSort {
static final Comparator<Employee> SENIORITY_ORDER =
new Comparator<Employee>() {
public int compare(Employee e1, Employee e2) {
return e2.hireDate().compareTo(e1.hireDate());
}
};
Javaチュートリアルの説明は次のとおりです。
Comparator は、その逆ではなく、2 番目の引数の雇用日を最初の引数に渡すことに注意してください。その理由は、最近採用された従業員が最も年長ではないためです。入社日順にソートすると、リストは年功序列の逆順になります。
compareTo
それでも、 e1 と e2 を逆にすることで問題が解決する理由がわかりません。
さらに明確にすることはありますか?
前もって感謝します。