object TestScala {
def main(args: Array[String]): Unit = {
val mainList = List(3, 2, 1)
mainList.patch(1, Seq(5), 0)
println("mainList-->"+mainList)
}
}输出为mainList-->List(3, 2, 1),而不是预期输出
我在等3,5,2,1
发布于 2019-02-15 15:03:28
Scala列表是不可变的。将其赋值给变量,它将产生所需的输出。
object TestScala {
def main(args: Array[String]): Unit = {
var mainList = List(3, 2, 1)
mainList = mainList.patch(1, Seq(5), 0)
println("mainList-->"+mainList)
}
}发布于 2019-07-15 05:11:32
像Scala这样的函数式语言更喜欢不可变的数据结构。
undefined_variable提供的答案是正确的,但您应该更喜欢val而不是var:
object TestScala {
def main(args: Array[String]): Unit = {
val mainList = List(3, 2, 1)
val newList = mainList.patch(1, Seq(5), 0)
println("newList-->"+newList)
}
}https://stackoverflow.com/questions/54703329
复制相似问题