【发布时间】:2014-10-23 16:48:29
【问题描述】:
我有一个函数可以生成特定类型的数组:
def mkArray[A:ClassTag:Ordering](size:Int):Array[A] = Array.ofDim[A](size)
我想根据 String str 制作 Int 或 String 类型的数组 arr,如下所示:
var arr = if(str=="i"){mkArray[Int](size)}else{mkArray[String](size)}
现在我尝试像这样向数组添加值:
arr(n) = num.toInt // num is String like "123"
但它说:
- type mismatch; found : Int required: _366 where type _366 >: Int
with String
如何解决这个问题,根据字符串 str 制作 Array[Int] 或 Array[String] 类型的 arr?
任何帮助表示赞赏, 谢谢!
【问题讨论】:
-
您直接使用
mkArray[Int],而不是使用str和值"i"等。尝试对编译器更明确。
标签: arrays scala generics type-mismatch