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
比較するオブジェクト。
戻り値
このオブジェクトが指定したオブジェクトより小さい、等しい、または大きい場合は、負の整数、0、または正の整数。
- 属性
注釈
このオブジェクトを、指定したオブジェクトと順序を比較します。 このオブジェクトが指定したオブジェクトより小さい、等しい、または大きい場合は、負の整数、0、または正の整数を返します。
実装者は、すべての x
と y
に対して を保証sgn(x.compareTo(y)) == -sgn(y.compareTo(x))
する必要があります。 (これは、iff y.compareTo(x)
がx.compareTo(y)
例外をスローした場合に例外をスローする必要があることを意味します)。
実装者は、関係が推移的であることを確認する必要もあります。 (x.compareTo(y) > 0 && y.compareTo(z) > 0)
は を意味します x.compareTo(z) > 0
。
最後に、実装者は、すべての z
について、 が x.compareTo(y)==0
を意味することをsgn(x.compareTo(z)) == sgn(y.compareTo(z))
確認する必要があります。
強くお勧めしますが、厳密には 必須(x.compareTo(y)==0) == (x.equals(y))
ではありません。 一般に、 インターフェイスを実装し、この条件に Comparable
違反するクラスは、この事実を明確に示す必要があります。 推奨される言語は "注: このクラスには、equals と一貫性のない自然な順序付けがあります" です。
前述の説明では、表記sgn(
式)
は数学記号関数を指定します。これは、式の-1
0
値が負、ゼロ、または1
正のいずれであるかに応じて、または のいずれかを返すように定義されています。
の java.lang.Comparable.compareTo(T)
Java ドキュメント。
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。