我开始玩Scala,我读到的第一件事就是vals:
分配一次且永不改变的变量,以及可能在其生命周期内发生变化的变量
但我很好奇为什么我能做到这一点:
val foo = Array(1, 3 ,2)
scala.util.Sorting.quickSort(foo)
Run Code Online (Sandbox Code Playgroud)
如果我检查foo变量现在是有序的,这意味着它已经改变了......如果我打印(foo),两者都有相同的,所以变量指向同一个对象(我本可以认为变量只是指向一个新对象)
任何人都可以澄清吗?
cde*_*zaq 15
foo变量指向的数组正在发生变化,但foo指向Array此处的数据不会发生变化.尝试重新分配foo,你会看到你在寻找什么.