ArrayList<String>list1 = new ArrayList<String>()
list1.add("1")
list1.add("2")
ArrayList<String>list2 = new ArrayList<String>()
list2.add("3")
list2.add("4")
list1.addAll(list2)
var:变量值可变;val:变量值不可变var var0 = 0,var0的值可以进行后续修改,如:var0 = 1
val val0 = 0,var0的值不可以修改,val0 = 1是不能编译通过的
mutable:容器的元素可变;immutable:容器的元素不可变
val mutable0 = collection.mutable.Set(0),可以继续追加元素,如mutable0 += 1
val immutable0 = collection.immutable.Set(0),immutable0 += 1是不能编译通过的
两者的差别在于,如果是用val定义的,即使使用mutable集合,也只能对集合的元素进行修改,如mutable0 += 1;而不能让变量指向另一个集合,如mutable0
= collection.mutable.Set(1)
而如果是用var定义的则可以让变量指向另一个集合,如
var immutable0 = collection.immutable.Set(0)
immutable0 = collection.immutable.Set(1)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)