Класс 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 зависит от платформы.
- возвращает
копию объекта-получателя.
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в противном случае.
def finalize(): Unit
Вызывается сборщиком мусора для объекта-получателя, когда к объекту больше нет ссылок.
Детали того, когда и вызывается метод finalize, а также взаимодействия между finalize и возвратами/исключениями вне локальной области, зависят от платформы.
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]
Возвращает представление класса объекта в среде выполнения.
- возвращает
объект класса, соответствующий типу получателя в среде выполнения.
def hashCode(): Int
Вычисляет хеш-код объекта.
Алгоритм хеширования по умолчанию зависит от платформы.
Обратите внимание, что для двух объектов могут быть одинаковые хеш-коды (o1.hashCode.equals(o2.hashCode)) и всё же они могут не быть равны (o1.equals(o2) возвращает false). Вырожденная реализация может всегда возвращать 0. Однако требуется, чтобы если два объекта равны (o1.equals(o2) возвращает true ), у них были идентичные хеш-коды (o1.hashCode.equals(o2.hashCode)). Поэтому при переопределении этого метода убедитесь, что поведение согласовано с методом equals .
- возвращает
значение хеш-кода для этого объекта.
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
строковое представление объекта.
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
© 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