Spec-Zone.ru › Scala 2.12 Library

Объект scala.reflect.ClassManifestFactory

объект ClassManifestFactory

ClassManifestFactory определяет методы-фабрики для манифестов. Он предназначен для использования компилятором и не должен использоваться в клиентском коде.

В отличие от ClassManifest, эта фабрика не аннотирована предупреждением о устаревании. Это сделано для предотвращения лавины предупреждений об устаревании в коде, который вызывает методы с манифестами.

В идеальном мире мы просто удалили бы аннотацию @deprecated из ClassManifest объекта, а затем удалили бы его в 2.11. В конце концов, этот объект явно помечен как внутренний, поэтому никто не должен его использовать. Однако многие существующие библиотеки игнорировали Scaladoc, который поставляется с ClassManifest, поэтому нам нужно как-то подтолкнуть их к миграции до удаления чего-либо без предупреждения. Поэтому мы приняли это решение как меньшее из двух зол.

Источник
ClassManifestDeprecatedApis.scala
Линейные супертипы

Члены-значения

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

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

val Any: Manifest[Any]

val AnyVal: Manifest[AnyVal]

val Boolean: AnyValManifest[Boolean]

val Byte: AnyValManifest[Byte]

val Char: AnyValManifest[Char]

val Double: AnyValManifest[Double]

val Float: AnyValManifest[Float]

val Int: AnyValManifest[Int]

val Long: AnyValManifest[Long]

val Nothing: Manifest[Nothing]

val Null: Manifest[Null]

val Object: Manifest[AnyRef]

val Short: AnyValManifest[Short]

val Unit: AnyValManifest[Unit]

def abstractType[T](prefix: OptManifest[_], name: String, upperbound: ClassManifest[_], args: OptManifest[_]*): ClassManifest[T]

ClassManifest для абстрактного типа prefix # name. upperBound не строго необходим, так как его можно получить через рефлексию. Он был добавлен, чтобы вычисление стирания можно было выполнять без рефлексии. todo: удалить после следующей загрузки

def abstractType[T](prefix: OptManifest[_], name: String, clazz: Class[_], args: OptManifest[_]*): ClassManifest[T]

ClassManifest для абстрактного типа prefix # name. upperBound не строго необходим, так как его можно получить через рефлексию.

def arrayType[T](arg: OptManifest[_]): ClassManifest[Array[T]]

final def asInstanceOf[T0]: T0

Привести объект-получатель к типу T0.

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

returns

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

Definition Classes
Any
Исключения

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

def classType[T](prefix: OptManifest[_], clazz: Class[_], args: OptManifest[_]*): ClassManifest[T]

def classType[T](clazz: Class[_], arg1: OptManifest[_], args: OptManifest[_]*): ClassManifest[T]

def classType[T](clazz: Class[_]): ClassManifest[T]

ClassManifest для типа класса clazz, где clazz — это класс верхнего уровня или статический класс.

Примечание

Этот случай без префикса и без аргументов отделен, потому что он вызывается из ScalaRunTime.boxArray. Если мы передаем аргументы с переменным числом параметров как массивы в этот метод, то получим рекурсивный вызов boxArray. (Кроме того, отдельный случай более эффективен)

def clone(): AnyRef

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

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

returns

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

Атрибуты
protected[lang]
Definition Classes
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).

returns

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

Definition Classes
AnyRef

def equals(arg0: Any): Boolean

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

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

returns

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

Definition Classes
AnyRef → Any

def finalize(): Unit

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

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

Атрибуты
protected[lang]
Definition Classes
AnyRef
Аннотации
@throws( classOf[java.lang.Throwable] )
Примечание

не специфицирован SLS как член AnyRef

def fromClass[T](clazz: Class[T]): ClassManifest[T]

final def getClass(): Class[_]

Возвращает представление класса объекта во время выполнения.

returns

объект класса, соответствующий типу объекта во время выполнения.

Definition Classes
AnyRef → Any
Аннотации
@native()

def hashCode(): Int

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

returns

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

Definition Classes
AnyRef → Any
Аннотации
@native()

final def isInstanceOf[T0]: Boolean

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

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

returns

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

Definition Classes
Any

final def ne(arg0: AnyRef): Boolean

Эквивалентно !(this eq that).

returns

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

Definition Classes
AnyRef

final def notify(): Unit

Разбуживает один поток, ожидающий монитора объекта-приемника.

Definition Classes
AnyRef
Annotations
@native()
Note

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

final def notifyAll(): Unit

Разбуживает все потоки, ожидающие монитора объекта-приемника.

Definition Classes
AnyRef
Annotations
@native()
Note

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

def singleType[T <: AnyRef](value: AnyRef): Manifest[T]

final def synchronized[T0](arg0: ⇒ T0): T0

Definition Classes
AnyRef

def toString(): String

Создаёт строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java это конкатенация имени класса, «@» и хэш-кода объекта в шестнадцатеричном формате.

returns

строковое представление объекта.

Definition Classes
AnyRef → Any

final def wait(): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )

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

Definition Classes
AnyRef
Annotations
@throws( ... )

final def wait(arg0: Long): Unit

Definition Classes
AnyRef
Annotations
@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/reflect/ClassManifestFactory$.html

Spec-Zone.ru

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