Spec-Zone.ru › Scala 2.12 Library

Трейт scala.util.hashing.Hashing

Компаньон объект Hashing

трейт Hashing[T] extends Serializable

Hashing — это трейт, экземпляры которого представляют стратегию хэширования для экземпляров типа.

Компаньон-объект Hashing определяет стандартную стратегию хэширования для всех объектов — он вызывает их метод ##.

Примечание: при использовании пользовательской Hashing, необходимо использовать её с Equiv, чтобы при равенстве двух объектов, их хэш-коды также были равны.

Аннотации
@implicitNotFound( msg = ... )
Источник
Hashing.scala
С

2.10

Линейные супертипы
Известные подклассы

Абстрактные члены-значения

абстрактный def hash(x: T): Int

Члены-значения конкретных типов

final def !=(arg0: Any): Boolean

Проверка двух объектов на неравенство.

возвращает

true если !(this == that), иначе false.

Определяющие классы
AnyRef → Any

final def ##(): Int

Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для числовых типов возвращает хэш-значение, соответствующее равенству значений: если два экземпляра типа значения сравниваются как true, то ## для каждого из них вернёт одно и то же хэш-значение. Для null возвращает хэш-код, где null.hashCode генерирует NullPointerException.

возвращает

хэш-значение, соответствующее ==

Определяющие классы
AnyRef → Any

def +(other: String): String

Неявный
Этот член добавлен неявным преобразованием из Hashing[T] в any2stringadd[Hashing[T]] с помощью метода any2stringadd в scala.Predef.
Определяющие классы
any2stringadd

def ->[B](y: B): (Hashing[T], B)

Неявный
Этот член добавлен неявным преобразованием из Hashing[T] в ArrowAssoc[Hashing[T]] с помощью метода ArrowAssoc в scala.Predef.
Определяющие классы
ArrowAssoc
Аннотации
@inline()

final def ==(arg0: Any): Boolean

Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).

возвращает

true если объект-получатель эквивалентен аргументу; false в противном случае.

Определяющие классы
AnyRef → Any

final def asInstanceOf[T0]: T0

Приведение объекта-получателя к типу T0.

Обратите внимание, что успех приведения в ходе выполнения зависит от семантики стирания Scala. Следовательно, выражение 1.asInstanceOf[String] выбросит ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] нет. В последнем примере, так как тип аргумента стирается во время компиляции, невозможно проверить, соответствуют ли содержимое списка запрошенному типу.

возвращает

объект-получатель.

Определяющие классы
Any
Исключения

ClassCastException если объект-получатель не является экземпляром стираемого типа T0.

def clone(): AnyRef

Создаёт копию объекта-получателя.

По умолчанию реализация метода clone зависит от платформы.

возвращает

копию объекта-получателя.

Атрибуты
protected[lang]
Определяющие классы
AnyRef
Аннотации
@throws( ... ) @native()
Примечание

не определён SLS как член AnyRef

def ensuring(cond: (Hashing[T]) ⇒ Boolean, msg: ⇒ Any): Hashing[T]

Неявный
Этот член добавлен неявным преобразованием из Hashing[T] в Ensuring[Hashing[T]] с помощью метода Ensuring в scala.Predef.
Определяющие классы
Ensuring

def ensuring(cond: (Hashing[T]) ⇒ Boolean): Hashing[T]

Неявный
Этот член добавлен неявным преобразованием из Hashing[T] в Ensuring[Hashing[T]] с помощью метода Ensuring в scala.Predef.
Определяющие классы
Ensuring

def ensuring(cond: Boolean, msg: ⇒ Any): Hashing[T]

Неявный
Этот член добавлен неявным преобразованием из Hashing[T] в Ensuring[Hashing[T]] с помощью метода Ensuring в scala.Predef.
Классы-определения
Ensuring

def ensuring(cond: Boolean): Hashing[T]

Неявный
Этот член добавлен неявным преобразованием из Hashing[T] в Ensuring[Hashing[T]] с помощью метода Ensuring в scala.Predef.
Классы-определения
Ensuring

final def eq(arg0: AnyRef): Boolean

Проверяет, является ли аргумент (that) ссылкой на объект-получатель (this).

Метод eq реализует отношение эквивалентности на непустых экземплярах AnyRef, и имеет три дополнительных свойства:

    Он согласован: для любых непустых экземпляров x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false.Для любого непустого экземпляра x типа AnyRef, x.eq(null) и null.eq(x) возвращают false. null.eq(null) возвращает true.

При переопределении методов equals или hashCode важно обеспечить соответствие их поведения равенству ссылок. Поэтому, если два объекта являются ссылками друг на друга (o1 eq o2), они должны быть равны друг другу (o1 == o2) и должны иметь одинаковое значение хеша (o1.hashCode == o2.hashCode).

возвращает

true если аргумент является ссылкой на объект-получатель; false в противном случае.

Классы-определения
AnyRef

def equals(arg0: Any): Boolean

Метод равенства для ссылочных типов. По умолчанию делегирует метод eq.

См. также equals в scala.Any.

возвращает

true если объект-получатель эквивалентен аргументу; false в противном случае.

Классы-определения
AnyRef → Any

def finalize(): Unit

Вызывается сборщиком мусора для объекта-получателя, когда больше нет ссылок на объект.

Подробности о том, когда и если вызывается метод finalize, а также взаимодействие между finalize и нелокальными возвратами и исключениями, зависят от платформы.

Атрибуты
protected[lang]
Классы-определения
AnyRef
Аннотации
@throws( classOf[java.lang.Throwable] )
Примечание

не задано SLS как член AnyRef

def formatted(fmtstr: String): String

Возвращает строку, отформатированную в соответствии с данной строкой format. Форматные строки такие же, как для String.format (@см java.lang.String.format).

Неявный
Этот член добавлен неявным преобразованием из Hashing[T] в StringFormat[Hashing[T]] с помощью метода StringFormat в scala.Predef.
Классы-определения
StringFormat
Аннотации
@inline()

final def getClass(): Class[_]

Возвращает представление класса объекта в среде выполнения.

возвращает

объект класса, соответствующий типу получателя в среде выполнения.

Классы-определения
AnyRef → Any
Аннотации
@native()

def hashCode(): Int

Метод hashCode для ссылочных типов. См. hashCode в scala.Any.

возвращает

значение кода хеша для этого объекта.

Классы-определения
AnyRef → Any
Аннотации
@native()

final def isInstanceOf[T0]: Boolean

Проверка, является ли динамический тип объекта-получателя T0.

Обратите внимание, что результат проверки выполняется с учётом стирания типов Scala. Поэтому выражение 1.isInstanceOf[String] вернёт false, а выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, из-за стирания типа аргумента во время компиляции, нельзя проверить, соответствуют ли элементы списка указанному типу.

возвращает

true если объект-получатель является экземпляром стиранного типа T0; false в противном случае.

Классы-определения
Any

final def ne(arg0: AnyRef): Boolean

Эквивалентно !(this eq that).

возвращает

true если аргумент не является ссылкой на объект-получатель; false в противном случае.

Классы-определения
AnyRef

final def notify(): Unit

Разбуждает единственную нить, ждущую монитора объекта-получателя.

Definition Classes
AnyRef
Annotations
@native()
Примечание

не указано SLS как член AnyRef

final def notifyAll(): Unit

Разбуждает все нити, ожидающие монитора объекта-получателя.

Definition Classes
AnyRef
Annotations
@native()
Примечание

не указано SLS как член AnyRef

final def synchronized[T0](arg0: ⇒ T0): T0

Definition Classes
AnyRef

def toString(): String

Создает строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java это конкатенация имени класса, «@» и хэш-кода объекта в шестнадцатеричном формате.

возвращает

строковое представление объекта.

Definition Classes
AnyRef → Any

final def wait(): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )

final def wait(arg0: Long, arg1: Int): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )

final def wait(arg0: Long): Unit

Definition Classes
AnyRef
Annotations
@throws( ... ) @native()

def →[B](y: B): (Hashing[T], B)

Неявный
Этот член добавлен неявным преобразованием из Hashing[T] в ArrowAssoc[Hashing[T]] выполняемое методом ArrowAssoc в scala.Predef.
Definition Classes
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/util/hashing/Hashing.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API