Трейт scala.math.Equiv
Компаньон объект Equiv
трейт Equiv[T] extends Serializable
- ValueOrdering, DeadlineIsOrdered, DurationIsOrdered, FiniteDurationIsOrdered, BigDecimal, BigInt, Boolean, Byte, Char, IeeeEquiv, IeeeEquiv, StrictEquiv, StrictEquiv, IeeeEquiv, IeeeEquiv, StrictEquiv, StrictEquiv, Int, Long, Short, String, Symbol, Unit, Fractional, Integral, Numeric, BigDecimalAsIfIntegral, BigDecimalAsIfIntegral, BigDecimalIsConflicted, BigDecimalIsFractional, BigDecimalIsFractional, BigIntIsIntegral, BigIntIsIntegral, ByteIsIntegral, ByteIsIntegral, CharIsIntegral, CharIsIntegral, DoubleIsFractional, DoubleIsFractional, FloatIsFractional, FloatIsFractional, IntIsIntegral, IntIsIntegral, LongIsIntegral, LongIsIntegral, ShortIsIntegral, ShortIsIntegral, Ordering, BigDecimal, BigDecimalOrdering, BigInt, BigIntOrdering, Boolean, BooleanOrdering, Byte, ByteOrdering, CachedReverse, Char, CharOrdering, IeeeOrdering, IeeeOrdering, TotalOrdering, TotalOrdering, IeeeOrdering, IeeeOrdering, TotalOrdering, TotalOrdering, Int, IntOrdering, Long, LongOrdering, OptionOrdering, Short, ShortOrdering, String, StringOrdering, Symbol, SymbolOrdering, Unit,
Члены конкретных значений
final def !=(arg0: Any): Boolean
Проверка двух объектов на неравенство.
- returns
trueесли !(this == that), в противном случае false.
- Definition Classes
- Any
final def ##(): Int
Эквивалентно x.hashCode, за исключением упакованных числовых типов и null. Для числовых типов возвращает значение хэша, согласованное с равенством значений: если два экземпляра типа значения сравниваются как true, то ## будет производить одинаковое значение хэша для каждого из них. Для null возвращает хэш-код, где null.hashCode вызывает NullPointerException.
- returns
значение хэша, согласованное с ==
- Definition Classes
- Any
def +(other: String): String
- Неявный
- Этот член добавляется неявным преобразованием из Equiv[T] в any2stringadd[Equiv[T]], выполненное методом any2stringadd в scala.Predef.
- Definition Classes
- any2stringadd
def ->[B](y: B): (Equiv[T], B)
- Неявный
- Этот член добавляется неявным преобразованием из Equiv[T] в ArrowAssoc[Equiv[T]], выполненное методом ArrowAssoc в scala.Predef.
- Definition Classes
- ArrowAssoc
- Аннотации
- @inline()
final def ==(arg0: Any): Boolean
Проверка двух объектов на равенство. Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).
- returns
trueесли объект-получатель эквивалентен аргументу;falseв противном случае.
- Definition Classes
- Any
final def asInstanceOf[T0]: T0
Приведение объекта-получателя к типу T0.
Обратите внимание, что успех приведения во время выполнения зависит от семантики стирания Scala. Поэтому выражение 1.asInstanceOf[String] бросит ClassCastException во время выполнения, а выражение List(1).asInstanceOf[List[String]] нет. В последнем примере, поскольку аргумент типа стирается во время компиляции, невозможно проверить, содержат ли элементы списка запрошенный тип.
- returns
объект-получатель.
- Definition Classes
- Any
- Исключения
ClassCastException, если объект-получатель не является экземпляром стирания типаT0.
def ensuring(cond: (Equiv[T]) => Boolean, msg: => Any): Equiv[T]
- Неявный
- Этот член добавляется неявным преобразованием из Equiv[T] в Ensuring[Equiv[T]], выполненное методом Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: (Equiv[T]) => Boolean): Equiv[T]
- Неявный
- Этот член добавляется неявным преобразованием из Equiv[T] в Ensuring[Equiv[T]], выполненное методом Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: Boolean, msg: => Any): Equiv[T]
- Неявный
- Этот член добавлен неявным преобразованием из Equiv[T] в Ensuring[Equiv[T]] с помощью метода Ensuring в scala.Predef.
- Классы-определения
- Ensuring
def ensuring(cond: Boolean): Equiv[T]
- Неявный
- Этот член добавлен неявным преобразованием из Equiv[T] в Ensuring[Equiv[T]] с помощью метода Ensuring в scala.Predef.
- Классы-определения
- Ensuring
def equals(arg0: Any): Boolean
Сравнивает текущий объект (this) с объектом-аргументом (that) на эквивалентность.
Любое реализация этого метода должна быть отношением эквивалентности:
-
Он является рефлексивным: для любого экземпляра
x типа Any, x.equals(x) должен возвращать true.Он является симметричным: для любых экземпляров x и y типа Any, x.equals(y) должен возвращать true тогда и только тогда, когда y.equals(x) возвращает true.Он является транзитивным: для любых экземпляров x, y, и z типа Any если x.equals(y) возвращает true и y.equals(z) возвращает true, то x.equals(z) должен возвращать true. Если вы переопределяете этот метод, вы должны убедиться, что ваша реализация остается отношением эквивалентности. Кроме того, при переопределении этого метода обычно необходимо переопределить hashCode, чтобы гарантировать, что объекты, которые являются "равными" (o1.equals(o2) возвращает true имеют одинаковые хэш-коды (o1.hashCode.equals(o2.hashCode)).
- возвращает
trueесли текущий объект эквивалентен аргументу;falseв противном случае.
- Классы-определения
- Any
def formatted(fmtstr: String): String
Возвращает строку, отформатированную в соответствии с заданной строкой format. Форматные строки аналогичны String.format (@см java.lang.String.format).
- Неявный
- Этот член добавлен неявным преобразованием из Equiv[T] в StringFormat[Equiv[T]] с помощью метода StringFormat в scala.Predef.
- Классы-определения
- StringFormat
- Аннотации
- @inline()
def hashCode(): Int
Вычисление хэш-кода объекта.
Алгоритм хэширования по умолчанию зависит от платформы.
Важно отметить, что для двух объектов могут быть идентичны хэш-коды (o1.hashCode.equals(o2.hashCode)) но не быть равными (o1.equals(o2) возвращает false). Вырожденная реализация может всегда возвращать 0. Однако, требуется, чтобы если два объекта равны (o1.equals(o2) возвращает true у них были идентичные хэш-коды (o1.hashCode.equals(o2.hashCode)). Поэтому, при переопределении этого метода, необходимо убедиться, что поведение согласуется с методом equals.
- возвращает
значение хэш-кода этого объекта.
- Классы-определения
- Any
final def isInstanceOf[T0]: Boolean
Проверка, является ли динамический тип получаемого объекта T0.
Обратите внимание, что результат проверки учитывает особенности стирания типов Scala. Поэтому выражение 1.isInstanceOf[String] вернёт false, в то время как выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, из-за стирания типа во время компиляции невозможно проверить, соответствуют ли содержимое списка указанному типу.
- возвращает
trueесли получаемый объект является экземпляром стирания типаT0;falseв противном случае.
- Классы-определения
- Any
def toString(): String
Возвращает строковое представление объекта.
Стандартное представление зависит от платформы.
- возвращает
строковое представление объекта.
- Классы-определения
- Any
© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.13.0/scala/math/Equiv.html
Трейт для представления отношений эквивалентности. Важно различать тип, который можно сравнивать на равенство или эквивалентность, и представление эквивалентности на каком-либо типе. Этот трейт предназначен для представления последнего.
Отношение эквивалентности — это бинарное отношение на типе. Это отношение представлено как метод
equivтрейтаEquiv. Отношение должно быть:equiv(x, x) == trueдля любого x типаT.equiv(x, y) == equiv(y, x)для любыхxиyтипаT.equiv(x, y) == trueиequiv(y, z) == true, тоequiv(x, z) == trueдля любыхx,y, иzтипаT.2.7