我想要一个二维数组的ArrayBuffer
如下所示:
var myRowOfStrings = new ArrayBuffer[String]
val myArrayOfRows = new ArrayBuffer[ArrayBuffer] // To store many ArrayBuffer[String]但是Scala编译器不喜欢第二个声明:
scala> val myArrayOfRows = new ArrayBuffer[ArrayBuffer]
<console>:8: error: class ArrayBuffer takes type parameters
val myArrayOfRows = new ArrayBuffer[ArrayBuffer]
^我是不是把语法搞错了?
或者ArrayBuffer的ArrayBuffer是不可能的?
发布于 2012-08-15 11:35:13
ArrayBuffer对象需要类型。它在错误消息中这样说。
你需要告诉编译器你想要哪种类型的ArrayBuffer。
scala> import scala.collection.mutable.ArrayBuffer
import scala.collection.mutable.ArrayBuffer
scala> val myArrayOfRows = new ArrayBuffer[ArrayBuffer[String]]
myArrayOfRows: scala.collection.mutable.ArrayBuffer[scala.collection.mutable.ArrayBuffer[String]] = ArrayBuffer()如果这样做更容易,可以考虑这样做。
type Row = ArrayBuffer[String]
var myRowOfStrings = new Row
val myArrayOfRows = new ArrayBuffer[Row]发布于 2020-12-16 05:18:29
在应用之前导入ArrayBuffer:
import scala.collection.mutable.ArrayBuffer
var e = ArrayBuffer("a", "b", "c")scala> e: scala.collection.mutable.ArrayBuffer[String] = ArrayBuffer(a, b, c)https://stackoverflow.com/questions/11963776
复制相似问题