Spec-Zone.ru › Scala 3.2

Класс PhantomReference.PhantomReference

Исходный код

class PhantomReference[+T <: AnyRef](value: T, queue: ReferenceQueue[T]) extends ReferenceWrapper[T]

Суперобъекты
Трейт ReferenceWrapper[T]
Трейт Proxy
Трейт Reference[T]
Трейт () => T
Класс Object
Трейт Matchable
Класс Any

Наследованные методы

Источник
def apply(): T

возвращает базовое значение

Наследуется из ReferenceWrapper

Источник
def clear(): Unit

Наследуется из ReferenceWrapper

Источник
def enqueue(): Boolean

Наследуется из ReferenceWrapper

Источник
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), имеют одинаковые хэш-коды (o1.hashCode.equals(o2.hashCode)).

Параметры
that

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

Возвращает

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

Определяющие классы Proxy -> Any
Наследуется из Proxy

Источник
override def get: Option[T]

возвращает Some базовый объект, если он не был собран, иначе None

Определяющие классы ReferenceWrapper -> Reference
Наследуется из ReferenceWrapper

Источник
override def hashCode: Int

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

Базовый алгоритм хэширования зависит от платформы.

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

Возвращает

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

Определяющие классы Proxy -> Any
Наследуется из Proxy

Источник
def isEnqueued: Boolean

Наследуется из ReferenceWrapper

Источник
def self: Reference[_ <: T]

Наследуется из ReferenceWrapper

Источник
override def toString: String

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

Базовое представление зависит от платформы.

Возвращает

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

Определяющие классы Proxy -> Any
Наследуется из Proxy

Конкретные поля

Источник
val underlying: PhantomReference[_ <: T]

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

Spec-Zone.ru

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