Класс scala.ref.SoftReference
Компаньон объект SoftReference
класс SoftReference[+T <: AnyRef] extends ReferenceWrapper[T]
- Источник
- SoftReference.scala
- Линейные супертипы
- ReferenceWrapper[T], Proxy, Reference[T], () => T, AnyRef, Any
Конструкторы экземпляров
новый SoftReference(value: T)
новый SoftReference(value: T, queue: ReferenceQueue[T])
Члены-значения
final def !=(arg0: Any): Boolean
Проверка двух объектов на неравенство.
- returns
trueесли !(this == that), иначе false.
- Definition Classes
- AnyRef → Any
final def ##(): Int
Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для числовых типов возвращает значение хеша, которое соответствует равенству значений: если два экземпляра типа значения сравниваются как true, то ## будет генерировать одинаковое значение хеша для каждого из них. Для null возвращает хешкод, где null.hashCode выбрасывает NullPointerException.
- returns
значение хеша, согласованное с ==
- Definition Classes
- AnyRef → Any
def +(other: String): String
- Неявный
- Этот член добавлен неявным преобразованием из SoftReference[T] вany2stringadd[SoftReference[T]] с помощью метода any2stringadd в scala.Predef.
- Definition Classes
- any2stringadd
def ->[B](y: B): (SoftReference[T], B)
- Неявный
- Этот член добавлен неявным преобразованием из SoftReference[T] вArrowAssoc[SoftReference[T]] с помощью метода ArrowAssoc в scala.Predef.
- Definition Classes
- ArrowAssoc
- Аннотации
- @inline()
final def ==(arg0: Any): Boolean
Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).
- returns
trueесли объект получателя эквивалентен аргументу;falseв противном случае.
- Definition Classes
- AnyRef → Any
def apply(): T
Возвращает базовое значение.
- returns
результат применения функции.
- Definition Classes
- ReferenceWrapper → Reference → Function0
final def asInstanceOf[T0]: T0
Приведение объекта получателя к типу T0.
Обратите внимание, что успех приведения во время выполнения зависит от семантики стирания Scala. Таким образом, выражение 1.asInstanceOf[String] выбросит ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] нет. В последнем примере, поскольку аргумент типа стирается во время компиляции, невозможно проверить, содержат ли элементы списка запрашиваемый тип.
- returns
объект получателя.
- Definition Classes
- Any
- Исключения
ClassCastExceptionесли объект получателя не является экземпляром стирания типаT0.
def clear(): Unit
- Definition Classes
- ReferenceWrapper → Reference
def clone(): AnyRef
Создает копию объекта получателя.
По умолчанию реализация метода clone зависит от платформы.
- returns
копия объекта получателя.
def enqueue(): Boolean
- Definition Classes
- ReferenceWrapper → Reference
def ensuring(cond: (SoftReference[T]) => Boolean, msg: => Any): SoftReference[T]
- Неявный
- Этот член добавлен неявным преобразованием из SoftReference[T] в Ensuring[SoftReference[T]], выполненное методом Ensuring в scala.Predef.
- Классы определений
- Ensuring
def ensuring(cond: (SoftReference[T]) => Boolean): SoftReference[T]
- Неявный
- Этот член добавлен неявным преобразованием из SoftReference[T] в Ensuring[SoftReference[T]], выполненное методом Ensuring в scala.Predef.
- Классы определений
- Ensuring
def ensuring(cond: Boolean, msg: => Any): SoftReference[T]
- Неявный
- Этот член добавлен неявным преобразованием из SoftReference[T] в Ensuring[SoftReference[T]], выполненное методом Ensuring в scala.Predef.
- Классы определений
- Ensuring
def ensuring(cond: Boolean): SoftReference[T]
- Неявный
- Этот член добавлен неявным преобразованием из SoftReference[T] в Ensuring[SoftReference[T]], выполненное методом Ensuring в scala.Predef.
- Классы определений
- Ensuring
final def eq(arg0: AnyRef): Boolean
Проверяет, является ли аргумент (that) ссылкой на объект-получатель (this).
Метод 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).
- Неявный
- Этот член добавляется неявным преобразованием из SoftReference[T] в StringFormat[SoftReference[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.SoftReference[_ <: T]
- Определяющие классы
- SoftReference → 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/SoftReference.html