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)
会引发 exception.)
实现程序还必须确保关系是可传递的: (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
接口并违反此条件的任何类都应清楚地表明这一事实。 建议的语言为“注意:此类具有与 equals 不一致的自然顺序。”
在上述说明中,表示法sgn(
表达式)
指定数学符号函数,该函数定义为返回 、 0
或 1
之-1
一,具体取决于表达式的值是负值、零值还是正值。
的 java.lang.Comparable.compareTo(T)
Java 文档。
此页面的某些部分是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的条款使用。