Объект scala.reflect.ClassManifestFactory
объект ClassManifestFactory
Члены-значения
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
копия объекта-получателя.
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
объект класса, соответствующий типу объекта во время выполнения.
def hashCode(): Int
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
© 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
ClassManifestFactoryопределяет методы-фабрики для манифестов. Он предназначен для использования компилятором и не должен использоваться в клиентском коде.В отличие от
ClassManifest, эта фабрика не аннотирована предупреждением о устаревании. Это сделано для предотвращения лавины предупреждений об устаревании в коде, который вызывает методы с манифестами.В идеальном мире мы просто удалили бы аннотацию @deprecated из
ClassManifestобъекта, а затем удалили бы его в 2.11. В конце концов, этот объект явно помечен как внутренний, поэтому никто не должен его использовать. Однако многие существующие библиотеки игнорировали Scaladoc, который поставляется сClassManifest, поэтому нам нужно как-то подтолкнуть их к миграции до удаления чего-либо без предупреждения. Поэтому мы приняли это решение как меньшее из двух зол.