我正在尝试理解这段代码
def myFunc[A:ClassTag](seq: A*) = {
println("The array representation is "+ Array[A](seq: _*)) }
myFunc(Seq(1,2),Seq(3,4,5,6))
myFunc("a","b","c")
我对此有几个问题: -
由于
答案 0 :(得分:2)
因为Array
对象的apply
方法明确要求ClassTag
而不是TypeTag
。 Here's the documentation。数组只需要ClassTag
信息,我相信该类早于TypeTag
。
您的代码不会返回数组,只会打印它。如果你更改它以返回数组,你可以说它接受了一些泛型类型的可变数量的实例(每次调用一个单一类型),并返回该类型的元素数组。