Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 获取数组[(数组[字符串,长]的索引处的元素]_Scala - Fatal编程技术网

Scala 获取数组[(数组[字符串,长]的索引处的元素]

Scala 获取数组[(数组[字符串,长]的索引处的元素],scala,Scala,所以我有一些数据: val data = Array[(Array[String], Long)] 这是一个成对数组,其中每对由另一个数组和一个数字组成。我创建了一个ListBuffer,如下所示: var x = ListBuffer[(Array[String], Long)] 我想将某个索引I处的元素附加到x。我执行以下操作: x += data(i) 但是,我得到了一个错误: 类型不匹配,应为:字符串,实际:(数组[String],长) 我做错了什么?我在IntelliJ和Sca

所以我有一些数据:

val data = Array[(Array[String], Long)]
这是一个成对数组,其中每对由另一个数组和一个数字组成。我创建了一个ListBuffer,如下所示:

var x = ListBuffer[(Array[String], Long)]
我想将某个索引
I
处的元素附加到
x
。我执行以下操作:

 x += data(i)
但是,我得到了一个错误:

类型不匹配,应为:字符串,实际:(数组[String],长)

我做错了什么?我在IntelliJ和Scala 2.10.7中工作

此外,该示例(这是一个具体示例(我无法提供原始示例))也给出了相同的错误:

val xData = ListBuffer[(Array[String], Long)]
    var x = ListBuffer[(Array[String], Long)]
    x += xData(0)

我刚刚在scala REPL中尝试了同样的方法,效果很好

我所做的是-

    scala> val arr = Array("Hello", "Bye")
    arr: Array[String] = Array(Hello, Bye)

    scala> var data = Array((arr,1), (arr,2))
    data: Array[(Array[String], Int)] = Array((Array(Hello, Bye),1), 
    (Array(Hello, Bye),2))

    scala> import scala.collection.mutable.ListBuffer
    import scala.collection.mutable.ListBuffer


    scala> val list = ListBuffer((arr, 1))
    list: scala.collection.mutable.ListBuffer[(Array[String], Int)] = 
    ListBuffer((Array(Hello, Bye),1))


    scala> list += data(0)
    res1: list.type = ListBuffer((Array(Hello, Bye),1), (Array(Hello, 
    Bye),1))

它没有给出任何错误,所以问题是我忘记了ListBuffer初始化末尾的括号

这项工作:

var x = ListBuffer[(Array[String], Long)]()

你能提供一个完整的例子吗?我添加了一个不同的例子,但同样的错误,它是具体的,嗯,这很奇怪,是不是因为我从来没有指定数组[String]的方式应该是?我不能创建一个数组并用它来创建一个ListBuffer,它说它不知道数组是什么。所以即使你的示例被破坏了,你创建变量的方式也肯定有问题。你不能为变量分配数据类型?你是什么意思?
ListBuffer[(数组[String],Long]
是数据类型的定义,您不能像以前那样分配数据类型。您可以使用
将数据类型定义为
var x:ListBuffer[(数组[String],Long)]=实际值