Трейт scala.DelayedInit
трейт DelayedInit extends AnyRef
Члены-значения конкретного типа
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
- Неявный
- Этот член добавлен неявным преобразованием из DelayedInit в any2stringadd[DelayedInit] выполненное методом any2stringadd в scala.Predef.
- Definition Classes
- any2stringadd
def ->[B](y: B): (DelayedInit, B)
- Неявный
- Этот член добавлен неявным преобразованием из DelayedInit в ArrowAssoc[DelayedInit] выполненное методом 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
final def asInstanceOf[T0]: T0
Преобразовать объект-приёмник к типу T0.
Обратите внимание, что успех приведения типов во время выполнения зависит от стирания типов Scala. Поэтому выражение 1.asInstanceOf[String] выбросит ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] нет. В последнем примере, поскольку аргумент типа стирается на этапе компиляции, невозможно проверить, соответствуют ли содержимое списка требуемому типу.
- returns
объект-приёмник.
- Definition Classes
- Any
- Исключения
ClassCastExceptionесли объект-приёмник не является экземпляром стирания типаT0.
def clone(): AnyRef
Создать копию объекта-приёмника.
По умолчанию реализация метода clone зависит от платформы.
- returns
копия объекта-приёмника.
def ensuring(cond: (DelayedInit) => Boolean, msg: => Any): DelayedInit
- Неявный
- Этот член добавлен неявным преобразованием из DelayedInit в Ensuring[DelayedInit] выполненное методом Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: (DelayedInit) => Boolean): DelayedInit
- Неявный
- Этот член добавлен неявным преобразованием из DelayedInit в Ensuring[DelayedInit] выполненное методом Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: Boolean, msg: => Any): DelayedInit
- Неявный
- Этот член добавлен неявным преобразованием из DelayedInit в Ensuring[DelayedInit] с помощью метода Ensuring в scala.Predef.
- Классы-определения
- Ensuring
def ensuring(cond: Boolean): DelayedInit
- Неявный
- Этот член добавлен неявным преобразованием из DelayedInit в Ensuring[DelayedInit] с помощью метода 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).
- возвращает
trueесли аргумент является ссылкой на получаемый объект;falseв противном случае.
- Классы-определения
- AnyRef
def equals(arg0: AnyRef): Boolean
Метод равенства для ссылочных типов. Реализация по умолчанию делегирует вызов eq.
См. также equals в scala.Any.
- возвращает
trueесли получаемый объект эквивалентен аргументу;falseв противном случае.
- Классы-определения
- AnyRef → Any
def finalize(): Unit
Вызывается сборщиком мусора для получаемого объекта, когда на объект больше нет ссылок.
Подробности о том, когда и будет ли вызываться метод finalize, а также взаимодействие finalize с нелокальными возвратами и исключениями, зависят от платформы.
def formatted(fmtstr: String): String
Возвращает строку, отформатированную в соответствии с данной строкой format. Строки форматирования аналогичны строкам форматирования String.format (@see java.lang.String.format).
- Неявный
- Этот член добавлен неявным преобразованием из DelayedInit в StringFormat[DelayedInit] с помощью метода StringFormat в scala.Predef.
- Классы-определения
- StringFormat
- Аннотации
- @inline()
final def getClass(): Class[_ <: AnyRef]
Возвращает представленис класса объекта во время выполнения.
- возвращает
объект класса, соответствующий типу получаемого объекта во время выполнения.
def hashCode(): Int
Метод hashCode для ссылочных типов. См. hashCode в scala.Any.
- возвращает
значение хэш-кода для этого объекта.
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
final def synchronized[T0](arg0: => T0): T0
- Классы-определения
- AnyRef
def toString(): String
Создаёт строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java это конкатенация имени класса, «@» и хэш-кода объекта в шестнадцатеричном формате.
- возвращает
строковое представление объекта.
- Классы-определения
- AnyRef → Any
final def wait(): Unit
- Классы-определения
- AnyRef
- Аннотации
- @throws(classOf[java.lang.InterruptedException])
final def wait(arg0: Long, arg1: Int): Unit
- Классы-определения
- AnyRef
- Аннотации
- @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/DelayedInit.html
Классы и объекты (но не трейты), унаследовавшие трейт
DelayedInitбудут иметь свой код инициализации переписанный следующим образом:codeстанетdelayedInit(code).Код инициализации включает все операторы и определения значений, выполняемые во время инициализации.
Пример:
trait Helper extends DelayedInit { def delayedInit(body: => Unit) = { println("dummy text, printed before initialization of C") body // evaluates the initialization code of C } } class C extends Helper { println("this is the initialization code of C") } object Test extends App { val c = new C }Должен привести к следующему выводу:
(С версии 2.11.0) Семантика DelayedInit может быть неожиданной. Поддержка
Appбудет продолжена. См. примечания к релизу для получения дополнительных сведений: https://github.com/scala/scala/releases/tag/v2.11.0"Подраздел Задержка инициализации" в Спецификации языка Scala (раздел 5.1)