Spec-Zone.ru › Scala 2.12 Library

Объект scala.language.experimental

объект experimental

Объект experimental содержит функции, которые недавно были добавлены, но еще не были полностью протестированы в производственной среде.

Экспериментальные функции могут быть изменены в API в будущих версиях, поэтому код для производства не должен полагаться на них.

Разработчикам рекомендуется попробовать экспериментальные функции и сообщить о любых ошибках или несоответствиях API, с которыми они столкнутся, чтобы они могли быть улучшены в будущих выпусках.

Источник
language.scala
Линейные надтипы

Значения-члены

final def !=(arg0: Any): Boolean

Проверка двух объектов на неравенство.

возвращает

true если !(this == that), иначе false.

Классы-определения
AnyRef → Any

final def ##(): Int

Эквивалентно x.hashCode, за исключением упакованных числовых типов и null. Для числовых значений возвращает значение хэша, согласованное с равенством значений: если две экземпляры типа значения сравниваются как true, тогда ## возвращает одинаковое значение хэша для каждой из них. Для null возвращает хэш-код, где null.hashCode генерирует NullPointerException.

возвращает

значение хэша, согласованное с ==

Классы-определения
AnyRef → Any

final def ==(arg0: Any): Boolean

Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).

возвращает

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

Классы-определения
AnyRef → Any

final def asInstanceOf[T0]: T0

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

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

возвращает

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

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

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

def clone(): AnyRef

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

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

возвращает

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

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

не определено SLS как член AnyRef

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: Any): Boolean

Метод равенства для ссылочных типов. По умолчанию делегирует вызов eq.

См. также equals в scala.Any.

возвращает

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

Классы-определения
AnyRef → Any

def finalize(): Unit

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

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

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

не определено SLS как член AnyRef

final def getClass(): Class[_]

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

возвращает

объект класса, соответствующий типу runtime-объекта.

Классы-определения
AnyRef → Any
Аннотации
@native()

def hashCode(): Int

Метод hashCode для ссылочных типов. См. hashCode в scala.Any.

возвращает

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

Классы-определения
AnyRef → Any
Аннотации
@native()

final def isInstanceOf[T0]: Boolean

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

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

возвращает

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

Классы-определения
Any

неявный ленивый val macros: macros

При включенном режиме, определения макросов разрешены. Реализации и применения макросов не затрагиваются; они могут быть использованы где угодно.

Почему эта функция введена? Макросы обещают сделать язык более регулярным, заменив ad-hoc конструкции языка общей мощной абстракцией, способной их выразить. Макросы также являются более дисциплинированной и мощной заменой для плагинов компилятора.

Почему это контролируется? Из-за своей мощи макросы могут привести к коду, который трудно отлаживать и понимать.

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( ... )

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

Классы-определения
AnyRef
Аннотации
@throws( ... )

final def wait(arg0: Long): Unit

Классы-определения
AnyRef
Аннотации
@throws( ... ) @native()

© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.12.9/scala/language$$experimental$.html

Spec-Zone.ru

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