Share via


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

要比较的对象。

返回

负整数、零或正整数,因为此对象小于、等于或大于指定对象。

属性

注解

将此对象与指定对象进行排序比较。 返回负整数、零或正整数,因为此对象小于、等于或大于指定对象。

实施程序必须确保 sgn(x.compareTo(y)) == -sgn(y.compareTo(x)) 所有 xy。 (这意味着 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(表达式)指定数学符号函数,该函数定义为返回 、 01-1一,具体取决于表达式的值是负值、零值还是正值。

java.lang.Comparable.compareTo(T)Java 文档。

此页面的某些部分是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的条款使用。

适用于