Spec-Zone.ru › Scala 2.13 Library

Класс scala.ref.PhantomReference

класс PhantomReference[+T <: AnyRef] extends ReferenceWrapper[T]

Источник
PhantomReference.scala
Линейные супертипы
ReferenceWrapper[T], Proxy, Reference[T], () => T, AnyRef, Any

Конструкторы экземпляров

новый PhantomReference(значение: T, очередь: ReferenceQueue[T])

Члены-значения

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

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

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

Неявный
Этот член добавлен неявным преобразованием из PhantomReference[T] вArrowAssoc[PhantomReference[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

def apply(): T

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

возвращает

результат применения функции.

Классы определений
ReferenceWrapper → Reference → Function0

final def asInstanceOf[T0]: T0

Преобразует объект-получатель к типу T0.

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

возвращает

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

Классы определений
Any
Исключения

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

def clear(): Unit

Классы определений
ReferenceWrapper → Reference

def clone(): AnyRef

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

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

возвращает

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

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

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

def enqueue(): Boolean

Классы определений
ReferenceWrapper → Reference

def ensuring(cond: (PhantomReference[T]) => Boolean, msg: => Any): PhantomReference[T]

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

def ensuring(cond: (PhantomReference[T]) => Boolean): PhantomReference[T]

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

def ensuring(cond: Boolean, msg: => Any): PhantomReference[T]

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

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

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

final def eq(arg0: AnyRef): Boolean

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

Метод 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).

returns

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

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

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

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

returns

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

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

def finalize(): Unit

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

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

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.Throwable])
Примечание

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

def formatted(fmtstr: String): String

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

Неявный
Этот член добавлен неявным преобразованием из PhantomReference[T] в StringFormat[PhantomReference[T]], выполненное методом StringFormat в scala.Predef.
Definition Classes
StringFormat
Annotations
@inline()

def get: Option[T]

Возвращает базовое Some значение, если оно ещё не собрано, иначе None.

Definition Classes
ReferenceWrapper → Reference

final def getClass(): Class[_ <: AnyRef]

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

возвращает

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

Definition Classes
AnyRef → Any
Annotations
@native()

def hashCode(): Int

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

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

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

возвращает

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

Definition Classes
Proxy → Any

def isEnqueued: Boolean

Definition Classes
ReferenceWrapper → Reference

final def isInstanceOf[T0]: Boolean

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

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

возвращает

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

Definition Classes
Any

final def ne(arg0: AnyRef): Boolean

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

возвращает

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

Definition Classes
AnyRef

final def notify(): Unit

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

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

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

final def notifyAll(): Unit

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

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

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

def self: java.lang.ref.Reference[_ <: T]

Definition Classes
ReferenceWrapper → Proxy

final def synchronized[T0](arg0: => T0): T0

Definition Classes
AnyRef

def toString(): String

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

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

returns

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

Definition Classes
Proxy → Any

val underlying: java.lang.ref.PhantomReference[_ <: T]

Definition Classes
PhantomReference → ReferenceWrapper

final def wait(): Unit

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException])

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

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long): Unit

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException]) @native()

© 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/ref/PhantomReference.html

Spec-Zone.ru

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