- - PR -
Comparableインターフェースについてご質問
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-12-07 13:19
以下の2つのクラスがあるとします。
public class Employee implements Comparable{ private String employeeId; private String employeeName; public Employee(String employeeId,String employeeName) { this.employeeId = employeeId; this.employeeName = employeeName; } public int compareTo(Object target){ return employeeId.compareTo(((Employee)target).employeeId); } public String getEmployeeId() { return employeeId; } public String getEmployeeName() { return employeeName; } } ----------------------------------------------- public class Exam02 { public static void main(String args[]){ Employee[] empArray = { new Employee("02","AAA"), new Employee("01","BBB"), new Employee("03","CCC")}; Arrays.sort(empArray); for(int i = 0 ; i < empArray.length ; i++){ Employee emp = empArray[i]; System.out.println(emp.getEmployeeId() + ":"+ emp.getEmployeeName()); } } } -----------------------------------------------ここまで 「Arrays.sort(empArray);」でオブジェクトがソートされる ようですが「compareToメソッド」が明示的に呼ばれていないのに 何故ソートされるのか理屈が良くわかりません。。 大変初歩的で恐縮ですがご教授頂ければ幸いです。 |
|
投稿日時: 2004-12-07 13:38
Arrays.sortの中で呼ばれています。compareToメソッド内でログ出力すると呼ばれていること
がわかるでしょう。 |
1