我對事情的理解是,"變數 "一詞指的是參考可以被重新分配的能力。而 "常量 "是指一個參考不能被重新分配。本質上就是Java中final和non-final的區別。
var something = new obj() -> 參考可以被重新賦值
val something = new obj() -> 不能被重新賦值。
對我來說,"可變性 "是指修改REFERAND/OBJECT本身的能力,而不是其參考。也就是說,被參考的物件。但是 Kotlin 并沒有阻止這一點。
你可以有
val something = new obj()
但是仍然能夠 "突變 "那個obj(),而不需要重新分配給一個新的識別符號。
我是否誤解了什么,或者這是個錯誤的名稱?
uj5u.com熱心網友回復:
有兩個關鍵字來宣告一個變數:
val(from value)--不可更改的參考。一個用val宣告的變數在初始化后不能被重新分配。它對應于Java中的final變數。 變數。var(from variable)- 可變的參考。這樣一個變數的值可以被改變。這個宣告對應于一個普通的 (非最終)Java變數。注意,盡管
val參考本身是不可變的,不能< 被改變,但它所指向的物件可能是可變的。比如說。 這段代碼是完全有效的:val languages = arrayListOf("Java") languages.add("Kotlin")
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/329625.html
標籤:
上一篇:為什么C 禁止這種部分專用化?
下一篇:ECSNginx網路設定
