小编zet*_*tsu的帖子

财产代表团由可变地图烘焙

我有以下代码:

class Mapped(var data:Map<String,String>){
    val firstName:String by data
}
Run Code Online (Sandbox Code Playgroud)

如果Mapped使用如下,这工作正常:

val mapped = Mapped(mapOf("firstName" to "initialFirstName"))
println(mapped.firstName); // prints "initialFirstName"
Run Code Online (Sandbox Code Playgroud)

但是由于data属性是可变的,我们可以改变它的值,即:

mapped.data = mapOf("firstName" to "updated");
Run Code Online (Sandbox Code Playgroud)

不过,该firstName物业仍然拥有"initialFirstName".

有没有解决这个问题,已知/记录虽然意外(对我而言)行为?

kotlin

6
推荐指数
1
解决办法
178
查看次数

标签 统计

kotlin ×1