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))
для всех x
и y
. (Это означает, что x.compareTo(y)
должен вызывать исключение, iff 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(
обозначает математическую функцию signum, которая определяется для возврата одного из значений -1
, 0
или 1
в зависимости от того, является ли значение выражения отрицательным, нулевым или положительным соответственно.
Документация по Java для java.lang.Comparable.compareTo(T)
.
Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом Android и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License.