2016-05-12 47 views
-2

任何人都可以告訴我這段代碼背後的邏輯嗎?compareTo Java - 這是幹什麼的?

public int compareTo(Holder o) { 
    if(o == null) return -1; 
    return this.value.compareTo(o.value); 
} 
+2

那麼,Comparable.compareTo'的返回值是如何記錄的?這與那裏發生的事情相符合?你不明白哪個特定部分? –

+1

你只需要看看這裏 https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html –

+3

你可以在這裏得到更多的細節http://stackoverflow.com/questions/ 10017381/compareto-method-java – AnupamBhusari

回答

1

它與其它物體o比較this

如果o爲空,則this被認爲小於o(由返回值-1表示)。

否則字段thisvalueo進行比較,並且其結果被返回作爲比較結果(-1 =越小,1 =更大,0 =相等)。

其基本原理是對元素進行適當的排序,例如,排序列表。

+1

簡而言之,它在其他所有內容之後(按照其自然順序根據其「.value」)命令'null'。 – Amadan