IComparable.CompareTo(Object) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
比較這個物件與指定之對象的順序。
[Android.Runtime.Register("compareTo", "(Ljava/lang/Object;)I", "GetCompareTo_Ljava_lang_Object_Handler:Java.Lang.IComparableInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
public int CompareTo (Java.Lang.Object o);
[<Android.Runtime.Register("compareTo", "(Ljava/lang/Object;)I", "GetCompareTo_Ljava_lang_Object_Handler:Java.Lang.IComparableInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member CompareTo : Java.Lang.Object -> int
參數
- o
- Object
要比較的物件。
傳回
負整數、零或正整數,因為這個物件小於、等於或大於指定的物件。
- 屬性
備註
比較這個物件與指定之對象的順序。 傳回負整數、零或正整數,因為這個物件小於、等於或大於指定的物件。
實作者必須確定 sgn(x.compareTo(y)) == -sgn(y.compareTo(x))
所有 x
與 y
。 (這表示 x.compareTo(y)
必須擲回例外狀況差異 y.compareTo(x)
擲回例外狀況。
實作者也必須確保關聯性是可轉移的: (x.compareTo(y) > 0 && y.compareTo(z) > 0)
表示 x.compareTo(z) > 0
。
最後,實作者必須確定 x.compareTo(y)==0
,這表示 sgn(x.compareTo(z)) == sgn(y.compareTo(z))
所有 z
。
強烈建議您這麼做,但 並非 嚴格要求 (x.compareTo(y)==0) == (x.equals(y))
。 一般而言,任何實 Comparable
作 介面且違反此條件的類別都應該清楚指出這個事實。 建議的語言是「注意:這個類別的自然順序與相等不一致」。
在上述描述中,表示法sgn(
表達式)
會指定數學符號函式,其定義為傳回的-1
其中一個 、0
,或1
根據表達式的值分別為負數、零或正數。
的 java.lang.Comparable.compareTo(T)
Java 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。