Spec-Zone.ru › Scala 2.13 Library

Объект scala.reflect.ManifestFactory

объект ManifestFactory

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

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

Источник
Manifest.scala
Линейные супертипы
AnyRef, Any

Значения членов

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 AnyRef: Manifest[AnyRef]

val AnyVal: Manifest[AnyVal]

val Boolean: BooleanManifest

val Byte: ByteManifest

val Char: CharManifest

val Double: DoubleManifest

val Float: FloatManifest

val Int: IntManifest

val Long: LongManifest

val Nothing: Manifest[Nothing]

val Null: Manifest[Null]

val Object: Manifest[AnyRef]

val Short: ShortManifest

val Unit: UnitManifest

def abstractType[T](prefix: Manifest[_], name: String, upperBound: Class[_], args: Manifest[_]*): Manifest[T]

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

def arrayType[T](arg: Manifest[_]): Manifest[Array[T]]

final def asInstanceOf[T0]: T0

Приводит текущий объект к типу T0.

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

возвращает

текущий объект.

Определения классов
Any
Исключения

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

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

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

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

Manifest для типа класса clazz[args], где clazz является классом верхнего уровня или статическим классом.

Примечание

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

def clone(): AnyRef

Создаёт копию объекта-приёмника.

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

возвращает

копию объекта-приёмника.

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

не указано SLS в качестве члена AnyRef

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

returns

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

Definition Classes
AnyRef

def equals(arg0: AnyRef): Boolean

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

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

returns

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

Definition Classes
AnyRef → Any

def finalize(): Unit

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

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

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.Throwable])
Note

не указано в SLS как член AnyRef

final def getClass(): Class[_ <: AnyRef]

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

returns

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

Definition Classes
AnyRef → Any
Annotations
@native()

def hashCode(): Int

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

returns

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

Definition Classes
AnyRef → Any
Annotations
@native()

def intersectionType[T](parents: Manifest[_]*): Manifest[T]

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 singleType[T <: AnyRef](value: AnyRef): Manifest[T]

final def synchronized[T0](arg0: => T0): T0

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

def toString(): String

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

returns

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

Definition Classes
AnyRef → Any

def valueManifests: List[AnyValManifest[_]]

final def wait(): Unit

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException])

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

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long): Unit

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException]) @native()

def wildcardType[T](lowerBound: Manifest[_], upperBound: Manifest[_]): Manifest[T]

© 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/reflect/ManifestFactory$.html

Spec-Zone.ru

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