为什么我们使用 val 而不是 var 来记住 Jetpack Compose 中的可变状态?
我不断看到编写的示例代码
val text = remember{ mutableStateOf("") }
当文本字符串发生变化时,val
不是var
吗?因此以下行也应该有效?绝对想了解为什么我可以使用 val
代替。
var text = remember{ mutableStateOf("") }
I keep seeing sample codes written
val text = remember{ mutableStateOf("") }
When the string of the text changes, isn't the val
a var
? Hence the following line should also work? Definitely would like to prefer to understand why I can use val
instead.
var text = remember{ mutableStateOf("") }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在科特林中,
val
用于声明不能重新指向另一个对象的引用。您无法更改引用,但始终可以更改指向对象的状态。
变化的字符串部分封装在由 Remember 创建的对象中,而不是
text
引用中。Kotlin 的
val
相当于 java 中引用的final
关键字。In kotlin,
val
used for declaring a reference which will not be able to repoint to another object.You can not change the reference but you can always change the state of pointed object.
The changing string part is encapsulated in the object created by remember, not the
text
reference.Kotlin's
val
is the equivalent offinal
keyword for references in java.