Kotlin中的var
和val
有什么区别?
我已经通过这个链接:
KotlinLang: Properties and Fields
如该链接所述:
The full syntax of a read-only property declaration differs from a mutable one in two ways: it starts with val instead of var and does not allow a setter.
fun copyAddress(address: Address): Address {
val result = Address() // there's no 'new' keyword in Kotlin
result.name = address.name // accessors are called
result.street = address.street
// ...
return result
}
var
和val
之间的确切区别是什么?最佳答案
在您的代码中result
不变,其var
属性也在变化。请参阅以下评论:
fun copyAddress(address: Address): Address {
val result = Address() // result is read only
result.name = address.name // but not their properties.
result.street = address.street
// ...
return result
}
val
与Java中的final
修饰符相同。您可能已经知道,我们不能再次分配给final
变量,但可以更改其属性。
https://stackoverflow.com/questions/44200075/
相关文章:
kotlin - 为什么我们使用 "companion object"作为 Kotlin 中 Jav
kotlin - 如何将 Kotlin 的 MutableList 初始化为空 MutableLis
constants - "const"和 "val"有什么区别?
properties - 使用 "by lazy"与 "lateinit"进行属性初始化
kotlin - 如何在 Kotlin 中将 String 转换为 Long?
collections - Kotlin 的列表缺少 "add"、 "remove"、 map 缺少