Manifest 上下文边界
scala> :paste
// Entering paste mode (ctrl-D to finish)
def arrayT[T: Manifest](ary: T*): Array[T] = {
val arys = new Array[T](ary.length)
for (item <- 0 until ary.length)
arys(item) = ary(item)
arys
}
// Exiting paste mode, now interpreting.
arrayT: [T](ary: T*)(implicit evidence$1: Manifest[T])Array[T]
scala>
scala>
scala> arrayT(1, 2, 3)
res6: Array[Int] = Array(1, 2, 3)
scala>
scala> arrayT("A","B","C")
res7: Array[String] = Array(A, B, C)
scala>