gpt4 book ai didi

kotlin - mutableMap.setValue(…)函数不再存在?

转载 作者:行者123 更新时间:2023-12-02 13:11:33 26 4
gpt4 key购买 nike

在文档中,我看到我们有一个mutableMap的setValue
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/set-value.html

operator fun <V> MutableMap<in String, in V>.setValue(
thisRef: Any?,
property: KProperty<*>,
value: V)

但是,当尝试使用它时,它似乎不存在。 (我正在使用Kotlin 1.3)
   val a = mutableMapOf(1 to 1, 2 to 3)
a.setValue(...) // error out

不再可用了吗?

最佳答案

这是一个扩展,实现了要用作proprety delegate的类型所需的setValue方法。官方文档介绍了如何将Maps用作此处的代表:Storing Properties in a Map

TLDR,您将使用这种语法,将属性委派给Map实例:

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

如果只想设置 MutableMap的值,请使用 set 方法(也可以作为 []运算符使用):
val map = mutableMapOf(1 to 1, 2 to 3)
map.set(2, 2)
map[2] = 2

put 方法,该方法还返回您修改的键存储的先前值:
val oldValue: Int = map.put(2, 5)

关于kotlin - mutableMap.setValue(…)函数不再存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61912898/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com