2012-07-06 71 views
-3

任何人都可以解釋下列代碼是如何工作的?Java中的comapareTo方法如何工作?

public int compareTo(Object o) { 
    if (o instanceof Item) { 
     return date1.compareTo(((Item) o).getDate2()); 
    } 
    return -1; 
} 
+1

它不可能在不知道getDate2()返回的情況下解釋代碼。 – adamjmarkham 2012-07-06 02:07:00

+1

該代碼完全按照它所做的。沒有辦法解釋*爲什麼*代碼沒有看到更廣泛的上下文。通過它自己,這種方法看起來有點奇怪。 – Corbin 2012-07-06 02:07:46

+0

沒有更多的代碼就無法解釋。至少,date1和getDate2()的定義。 – Sabbath 2012-07-06 02:10:40

回答

0

它檢查對象o是一個項目,然後對它們進行比較時,比較函數返回值,-1,0和1。

如果返回值爲0則表示對象是一樣的,如果它返回-1或1就說它們不一樣。

最後的返回是默認catch,所以如果對象o不是那個item類型,則返回不匹配。