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
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)
}
}
诸如Scala之类的功能语言更喜欢不变的数据结构。
undfelined_variable提供的答案是正确的,但您应该更喜欢VAL:
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)
}
}