Трейт scala.math.Equiv
Компаньон объект Equiv
трейт Equiv[T] extends Serializable
Конкретные члены значений
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.
- Definition Classes
- 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), имеют одинаковый хеш-код scala.Int. (o1.hashCode.equals(o2.hashCode)).
- возвращает
trueесли объект-получатель эквивалентен аргументу;falseв противном случае.
- Классы определений
- Any
def formatted(fmtstr: String): String
Возвращает строку, отформатированную в соответствии с заданной format строкой. Форматные строки аналогичны String.format (@see 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
def →[B](y: B): (Equiv[T], B)
- Неявный
- Этот член добавлен с помощью неявного преобразования из Equiv[T] в ArrowAssoc[Equiv[T]] с помощью метода ArrowAssoc в scala.Predef.
- Классы определений
- ArrowAssoc
© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.12.9/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