0

Scala API,我得到了以下示例,该示例无法编译;

scala> def arr[T] = new Array[T](0)
<console>:10: error: cannot find class manifest for element type T
       def arr[T] = new Array[T](0)
                    ^

我想知道,为什么它不能编译(Scala API 没有解释错误)?它不只是一个普通的参数化方法吗?为什么编译器抱怨它?

4

1 回答 1

7

正如编译器错误消息所说,您需要一个Manifest约束。

scala> def arr[T : Manifest] = new Array[T](0)
arr: [T](implicit evidence$1: Manifest[T])Array[T]

在此处了解更多信息。有关更深入的信息,请参阅论文。

于 2012-07-03T20:20:50.377 回答