如果要使用Arrays類中的sort()方法,您必須實現Comparable接口。這是一個非常好的主意 - 如果對象不兼容,則無法對對象進行排序。所以你不能排序,如果你不能比較它的參考。在這種情況下,接口就像兼容性檢查器一樣使用。如果要使用它的方法,需要使用接口的Java類
的問題是 - 如何才能讓:
與方法的類(可以做2個對象的東西)
接口來檢查,如果這2個對象都是comatible(具有兼容參考)
添加到我的課「必須使用此接口」的規則,所以你不能使用這個類的方法沒有實現特定的接口,就像Comparable類呢?
例子:
public class Employee implements Comparable<Employee> {
//fields
//setters, getters
// this method must be implemented to use Arrays.sort()
public int compareTo(Employee other) {
return Double.compare(salary, other.salary);
}
}
你能解釋一下你的要求嗎?這聽起來像你希望能夠在運行時確定一個類是否應該實現「Comparable」。它是否正確? – deyur 2014-09-30 20:23:23
我不完全瞭解你的要求;我更喜歡一個你想讓_your_類看起來像什麼的例子,以及你的類的使用例子,你可以不想或不想要。不速之客,我想你會希望使用泛型''或使用'instanceof'在運行時檢查。 –
ajb
2014-09-30 20:23:55
「如果不實現特定的接口,則不能使用此類方法」。你什麼意思?你想執行哪個實現接口的人?班級的客戶還是班級本身?你能重新表達這個問題嗎? – Claudio 2014-09-30 20:24:51