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))する必要があります。 (これは、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()は数学記号関数を指定します。これは、式の-10値が負、ゼロ、または1正のいずれであるかに応じて、または のいずれかを返すように定義されています。

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

このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。

適用対象