提问人:Subscription Me 提问时间:3/18/2022 最后编辑:z.g.ySubscription Me 更新时间:10/23/2022 访问量:943
为什么我们使用 val 而不是 var 来记住 Jetpack Compose 中的可变状态?
Why do we use val instead of var for remembering mutable state in Jetpack Compose?
问:
我一直看到编写的示例代码
val text = remember{ mutableStateOf("") }
当文本的字符串发生变化时,不是 a ?因此,以下行也应该有效吗?绝对想了解为什么我可以改用。val
var
val
var text = remember{ mutableStateOf("") }
答:
2赞
ocos
3/19/2022
#1
在 kotlin 中,用于声明无法重新指向另一个对象的引用。
您不能更改参照,但始终可以更改指向对象的状态。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 的等价物是 Java 中引用的关键字。val
final
评论