var 可變變量
val 只讀變量
相同點(diǎn):都為推測類型并且都是首次初始化就確定變量類型
區(qū)別: var可以多次初始化,val只能初始化一次
特殊情況:
val abc:ArrayList<String> = ArrayList()
Log.w("aaa","size is ${abc.size}")
abc.add("aaa")
Log.w("aaa","size is ${abc.size}")
abc.clear()
Log.w("aaa","size is ${abc.size}")
結(jié)果如下:
W/aaa: size is 0
W/aaa: size is 1
W/aaa: size is 0
結(jié)論 :val修飾集合的時(shí)候,只確定集合類型,而不影響里面的數(shù)據(jù)多少