Класс scala.ref.WeakReference
Компаньон объект WeakReference
класс WeakReference[+T <: AnyRef] extends ReferenceWrapper[T]
Конструкторы экземпляра
новый WeakReference(value: T)
новый WeakReference(value: T, queue: 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
- Неявный
- Этот член добавлен с помощью неявного преобразования из WeakReference[T] в any2stringadd[WeakReference[T]], выполненного методом any2stringadd в scala.Predef.
- Определяющие классы
- any2stringadd
def ->[B](y: B): (WeakReference[T], B)
- Неявный
- Этот член добавлен с помощью неявного преобразования из WeakReference[T] в ArrowAssoc[WeakReference[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: (WeakReference[T]) => Boolean, msg: => Any): WeakReference[T]
- Неявный
- Этот член добавлен неявным преобразованием из WeakReference[T] в Ensuring[WeakReference[T]], выполненное методом Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: (WeakReference[T]) => Boolean): WeakReference[T]
- Неявный
- Этот член добавлен неявным преобразованием из WeakReference[T] в Ensuring[WeakReference[T]], выполненное методом Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: Boolean, msg: => Any): WeakReference[T]
- Неявный
- Этот член добавлен неявным преобразованием из WeakReference[T] в Ensuring[WeakReference[T]], выполненное методом Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: Boolean): WeakReference[T]
- Неявный
- Этот член добавлен неявным преобразованием из WeakReference[T] в Ensuring[WeakReference[T]], выполненное методом Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
final def eq(arg0: AnyRef): Boolean
Проверяет, является ли переданный аргумент (that) ссылкой на объект-получатель (this).
Метод eq реализует отношение эквивалентности на не-null экземплярах AnyRef, и имеет три дополнительных свойства:
-
Он согласован: для любых не-null экземпляров
x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false.Для любого не-null экземпляра 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(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в противном случае.
def finalize(): Unit
Вызывается сборщиком мусора для объекта-получателя, когда больше нет ссылок на объект.
Подробности о том, когда и если вызывается метод finalize, а также взаимодействии finalize с нелокальными возвратами и исключениями, зависят от платформы.
def formatted(fmtstr: String): String
Возвращает строку, отформатированную в соответствии с заданной строкой format. Формат строк соответствует String.format (@см. java.lang.String.format).
- Неявный
- Этот член добавляется в результате неявного преобразования из WeakReference[T] вStringFormat[WeakReference[T]] с помощью метода StringFormat в scala.Predef.
- Определяющие классы
- StringFormat
- Аннотации
- @inline()
def get: Option[T]
возвращает Some базовое значение, если оно ещё не собрано, иначе None
- Определяющие классы
- 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
- Определяющие классы
- ReferenceWrapper → Reference
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
Разбудит одиночную нить, ожидающую монитор объекта-получателя.
- Определяющие классы
- AnyRef
- Аннотации
- @native()
- Примечание
не указано SLS как член AnyRef
final def notifyAll(): Unit
Разбудит все нити, ожидающие монитор объекта-получателя.
- Определяющие классы
- AnyRef
- Аннотации
- @native()
- Примечание
не указано SLS как член AnyRef
def self: java.lang.ref.Reference[_ <: T]
- Определяющие классы
- ReferenceWrapper → Proxy
final def synchronized[T0](arg0: => T0): T0
- Определяющие классы
- AnyRef
def toString(): String
Возвращает строковое представление объекта.
Представление по умолчанию зависит от платформы.
- возвращает
строковое представление объекта.
val underlying: java.lang.ref.WeakReference[_ <: T]
- Определяющие классы
- WeakReference → ReferenceWrapper
© 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/WeakReference.html
Класс-обёртка для java.lang.ref.WeakReference. Новые возможности: (1) результаты представлены в виде значений Option, вместо использования null. (2) Существует экстрактёр, который отображает саму слабую ссылку в опцию.