在Map中存储属性

一个比较常见的使用场景就是将属性值存储在Map中。这种情况经常出现在JSON或一些其他的动态事件上。在这种情况下,你可以使用Map实例作为委派属性的委派。

class User(val map: Map<String, Any?>) {
    val name: String by map
    val age: Int by map
}

在这个例子中,构造器的参数是个Map对象。

val user = User(mapOf(
    "name" to "John Doe",
    "age" to 25
))
println(user.name)
println(user.age)

将打印出:

John Doe
25

对于var属性同样适用,如果你使用MutableMap替代只读Map

results matching ""

    No results matching ""