我有一个类型为Any的WrappedArray值。如何转换为数组。
对于Ex:
val flds = valArr(0)(2)
flds: Any = WrappedArray(F1,F2,F3,F4,F5)
我尝试将flds转换为String Array ..
val flds = valArr(0)(2).toArray
但是我得到了以下错误
<console>:41: error: value toArray is not a member of Any
我如何转换..?我只想循环通过wrappedArray,但我不知道该怎么做..这就是为什么我试图将它转换为Array并循环通过它。
答案 0 :(得分:3)
这是从WrappedArray
获取Array
的方式,反之亦然:
val warr: WrappedArray[Int] = WrappedArray.make(Array(1, 2, 3))
val arr: Array[Int] = warr.array
或
val warr: WrappedArray[Int] = Array(1, 2, 3) // implicit conversion
val arr: Array[Int] = warr.array
答案 1 :(得分:0)
从 WrappedArray [Any]
开始val warr: WrappedArray[Any] = WrappedArray.make(Array(1, 2, 3))
我可以通过这种方式进入 Array [Int] :
val arr: Array[Int] = warr.toArray.map(_.asInstanceOf[Int])
答案 2 :(得分:0)
首先你需要告诉 Scala 你的 WrappedArray
是一个 WrappedArray
,所以
import scala.collection.mutable.WrappedArray
val warr = flds.asInstanceOf[WrappedArray[T]]
其中 T
是数组内容的类型。之后,您将拥有 WrappedArray
的所有方法,例如warr.toArray
。