Объект scala.reflect.Manifest
Компаньон трейт Manifest
объект Manifest extends java.io.Serializable
Члены-значения
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
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]
Описание для абстрактного типа 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 зависит от платформы.
- возвращает
копию объекта-получателя.
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 с нелокальными возвратами и исключениями зависят от платформы.
final def getClass(): Class[_ <: AnyRef]
Возвращает представление runtime-класса объекта.
- возвращает
объект класса, соответствующий типу runtime-объекта.
def hashCode(): Int
Метод hashCode для ссылочных типов. См. hashCode в scala.Any.
- возвращает
значение хэш-кода для этого объекта.
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).
- 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
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
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/Manifest$.html
Объект
Manifestопределяет фабричные методы для манифестов. Он предназначен для использования компилятором и не должен использоваться в клиентском коде.