次の方法で共有


IComparable.CompareTo(Object) メソッド

定義

このオブジェクトを指定したオブジェクトと順序を比較します。

[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

比較するオブジェクト。

戻り値

このオブジェクトが指定したオブジェクトより小さい、等しい、または大きい場合は、負の整数、0、または正の整数。

属性

注釈

このオブジェクトを指定したオブジェクトと順序を比較します。 このオブジェクトが指定したオブジェクトより小さい、等しい、または大きい場合は、負の整数、0、または正の整数を返します。

実装者は、すべてのxyことを保証sgn(x.compareTo(y)) == -sgn(y.compareTo(x))する必要があります。 (これは、例外がスローされた場合y.compareTo(x)に例外をスローする必要があることをx.compareTo(y)意味します)。

実装者は、関係が推移的であることを確認する必要もあります。 (x.compareTo(y) > 0 && y.compareTo(z) > 0)x.compareTo(z) > 0

最後に、実装者は、それがすべてのzことを意味sgn(x.compareTo(z)) == sgn(y.compareTo(z))することを確認x.compareTo(y)==0する必要があります。

それは強くお勧めしますが、厳密には(x.compareTo(y)==0) == (x.equals(y))必須ではありません. 一般に、インターフェイスを実装し、この条件に Comparable 違反するクラスは、この事実を明確に示す必要があります。 推奨される言語は、"注: このクラスには、等号と矛盾する自然な順序付けがあります" です。

前述の説明では、表記sgn()は、式の値が負、ゼロ、または正のいずれであるかを返すように1-10定義される数学のサイン関数を指定します。

の Java ドキュメントjava.lang.Comparable.compareTo(T)

このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。

適用対象