
50 第
2
章
var arrays
var
表示该变量可以指向不同数组
我们需要关注的最后一件事就是声明数组时使用val和var有什
么区别。
我们之前提到,变量中存储的是对象的引用。如果是使用var声
明的对象,可以更新其存储的引用值。若该变量是一个数组,那
么这意味着你可以存储其他有相同类型的数组引用。下面的代码
是一个正确且可以编译的例子:
var myArray = arrayOf(1, 2, 3)
myArray = arrayOf(4, 5)
0
1 2
引用
引用
引用
Int
1
Int
2
Int
3
0
1
引用
my
Array
Int
4
Int
5
引用
引用
var myArray = arrayOf(1, 2, 3)
这会创建一个Int数组,并且其引用存储
在一个名为myArray的变量中。
1
按步骤看看发生了什么。
myArray = arrayOf(4, 5)
这会创建一个新的Int数组,并且其引用会取
代myArray中原来存放的值。
2
var Array<Int>
那么,如果我们使用val会发生什么呢?
这是一个新数组
。
var
数组