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 属性许可证中所述的术语使用。