为什么我们使用 val 而不是 var 来记住 Jetpack Compose 中的可变状态?
Why do we use val instead of var for remembering mutable state in Jetpack Compose?
我一直看到写的示例代码
val text = remember{ mutableStateOf("") }
当文本的字符串发生变化时,val不就是一个var吗?因此,以下行也应该有效吗?绝对想了解为什么我可以改用 val。
var text = 记住{ mutableStateOf("") }
在科特林中,
val
用于声明无法重新指向另一个对象的引用。
您不能更改引用,但您可以随时更改指向对象的状态。
变化的字符串部分封装在remember创建的对象中,而不是text
引用。
val text = remember{ mutableStateOf("") }
val myCar = Car() // object 578
// changing the state of the car
// but not the myCar
myCar.setSpeed(100)
// compiler will not allow changing the reference
// myCar = anotherCar
var latestCar = Car() // object 345
// latestCar refererence will point to object 578
latestCar = myCar
Kotlin 的 val
等同于 java 中引用的 final
关键字。
我一直看到写的示例代码
val text = remember{ mutableStateOf("") }
当文本的字符串发生变化时,val不就是一个var吗?因此,以下行也应该有效吗?绝对想了解为什么我可以改用 val。
var text = 记住{ mutableStateOf("") }
在科特林中,
val
用于声明无法重新指向另一个对象的引用。
您不能更改引用,但您可以随时更改指向对象的状态。
变化的字符串部分封装在remember创建的对象中,而不是text
引用。
val text = remember{ mutableStateOf("") }
val myCar = Car() // object 578
// changing the state of the car
// but not the myCar
myCar.setSpeed(100)
// compiler will not allow changing the reference
// myCar = anotherCar
var latestCar = Car() // object 345
// latestCar refererence will point to object 578
latestCar = myCar
Kotlin 的 val
等同于 java 中引用的 final
关键字。