首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何制作ArrayBuffer的ArrayBuffer

如何制作ArrayBuffer的ArrayBuffer
EN

Stack Overflow用户
提问于 2012-08-15 11:32:31
回答 2查看 4K关注 0票数 2

我想要一个二维数组的ArrayBuffer

如下所示:

代码语言:javascript
复制
var myRowOfStrings = new ArrayBuffer[String]
val myArrayOfRows = new ArrayBuffer[ArrayBuffer] // To store many ArrayBuffer[String]

但是Scala编译器不喜欢第二个声明:

代码语言:javascript
复制
scala> val myArrayOfRows = new ArrayBuffer[ArrayBuffer]
<console>:8: error: class ArrayBuffer takes type parameters
       val myArrayOfRows = new ArrayBuffer[ArrayBuffer]
                                       ^

我是不是把语法搞错了?

或者ArrayBuffer的ArrayBuffer是不可能的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-15 11:35:13

ArrayBuffer对象需要类型。它在错误消息中这样说。

你需要告诉编译器你想要哪种类型的ArrayBuffer

代码语言:javascript
复制
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()

如果这样做更容易,可以考虑这样做。

代码语言:javascript
复制
type Row = ArrayBuffer[String]
var myRowOfStrings = new Row
val myArrayOfRows = new ArrayBuffer[Row]
票数 11
EN

Stack Overflow用户

发布于 2020-12-16 05:18:29

在应用之前导入ArrayBuffer:

代码语言:javascript
复制
import scala.collection.mutable.ArrayBuffer
var e = ArrayBuffer("a", "b", "c")
代码语言:javascript
复制
scala> e: scala.collection.mutable.ArrayBuffer[String] = ArrayBuffer(a, b, c)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11963776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档