@nowarn ("cat=deprecation&origin;=scala\\.reflect\\.ClassManifest(DeprecatedApis.*)?") @implicitNotFound (msg = "No Manifest available for ${T}.")
用法 一
trait Manifest[T] extends ClassTag[T] with Equals
Manifest[T]
是类型 T 的不透明说明符.它支持的用途是将类型的擦除作为Class
实例提供访问权限,如果该类在编译时未知,则这是创建本机Arrays
所必需的。
type-relation 运算符 <:<
和 =:=
应仅视为近似值,因为类型一致性的许多方面尚未在清单中充分表示。
示例用法:
def arr[T] = new Array[T](0) // does not compile
def arr[T](implicit m: Manifest[T]) = new Array[T](0) // compiles
def arr[T: Manifest] = new Array[T](0) // shorthand for the preceding
// Methods manifest and optManifest are in [[scala.Predef]].
def isApproxSubType[T: Manifest, U: Manifest] = manifest[T] <:< manifest[U]
isApproxSubType[List[String], List[AnyRef]] // true
isApproxSubType[List[String], List[Int]] // false
def methods[T: Manifest] = manifest[T].runtimeClass.getMethods
def retType[T: Manifest](name: String) =
methods[T] find (_.getName == name) map (_.getGenericReturnType)
retType[Map[_, _]]("values") // Some(scala.collection.Iterable<B>)
伴生:
- object
源码:
- Manifest.scala
相关用法
- Scala reflect.ClassTag用法及代码示例
- Scala reflectModule.ParamClause用法及代码示例
- Scala reflectModule.ByNameType用法及代码示例
- Scala reflectModule.TreeMap用法及代码示例
- Scala reflectModule.TreeAccumulator用法及代码示例
- Scala reflectModule.Lambda用法及代码示例
- Scala reflectModule.PackageClause用法及代码示例
- Scala reflectModule.TreeTraverser用法及代码示例
- Scala reduce()用法及代码示例
- Scala Tabulate.sliding用法及代码示例
- Scala ArrayBuffer.inits用法及代码示例
- Scala long.BitwiseOr用法及代码示例
- Scala StringBuilder.partitionMap用法及代码示例
- Scala List distinct()用法及代码示例
- Scala DefaultMap.sizeIs用法及代码示例
- Scala StrictOptimizedIterableOps.sliding用法及代码示例
- Scala Searching.SearchResult用法及代码示例
- Scala ::.collectFirst用法及代码示例
- Scala TreeSet diff()用法及代码示例
- Scala Char getClass()用法及代码示例
- Scala int.Min用法及代码示例
- Scala IntMap.groupMap用法及代码示例
- Scala Map3.mkString用法及代码示例
- Scala IterableOnceOps.flatMap用法及代码示例
- Scala IndexedSeqOps.lengthIs用法及代码示例
注:本文由纯净天空筛选整理自scala-lang.org大神的英文原创作品 reflect.Manifest。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。