Spec-Zone.ru › Scala 3.2

Трейт Proxy.Proxy

Объект-компаньон • Исходный код

трейт Proxy

Этот класс реализует простой прокси, который перенаправляет все вызовы к общедоступным, не-финальным методам, определённым в классе Any в другой объект self. Эти методы:

def hashCode(): Int
def equals(other: Any): Boolean
def toString(): String

Примечание: перенаправление методов таким образом, скорее всего, создаст асимметричный метод equals, что обычно не рекомендуется.

Устаревший
Супертипы
класс Any
Известные подтипы
19 типов
трейт Typed[T]
трейт OrderedProxy[T]
класс RichBoolean
трейт ScalaNumberProxy[T]
трейт FractionalProxy[T]
класс RichDouble
класс RichFloat
класс RichInt
трейт ScalaWholeNumberProxy[T]
трейт IntegralProxy[T]
класс RichChar
класс RichLong
класс RichByte
класс RichShort
трейт RangedProxy[T]
трейт ReferenceWrapper[T]
класс PhantomReference[T]
класс SoftReference[T]
класс WeakReference[T]

Абстрактные методы

Исходный код
def self: Any

Конкретные методы

Исходный код
override def equals(that: 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)).

Параметры значения
that

объект для сравнения с этим объектом на равенство.

Возвращает

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

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

Исходный код
override def hashCode: Int

Вычисляет значение хеш-кода для объекта.

По умолчанию алгоритм хеширования зависит от платформы.

Обратите внимание, что для двух объектов допускается наличие одинаковых хеш-кодов (o1.hashCode.equals(o2.hashCode)) но не быть равными (o1.equals(o2) возвращает false). Вырожденная реализация может всегда возвращать 0. Однако требуется, чтобы, если два объекта равны (o1.equals(o2) возвращает true)., то они имеют одинаковые хеш-коды (o1.hashCode.equals(o2.hashCode)). Поэтому, при переопределении этого метода, убедитесь, что поведение согласуется с методом equals.

Возвращает

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

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

Исходный код
override def toString: String

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

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

Возвращает

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

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

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.2.0/scala/Proxy.html

Spec-Zone.ru

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