【发布时间】:2021-03-11 06:20:18
【问题描述】:
我从 Scala 来到 Kotlin 1.3。我正在尝试做一些非常简单的事情:
class Foo {
fun bar() {
val map = mutableMapOf<String, Int>()
val index = "foo"
if (index !in map)
map[index] = 0
else
map[index]!! += 1
}
}
但是,IntelliJ 2020 在 += 运算符上给我一个错误,抱怨“预期变量”,这对我来说是不透明的。为什么我不能这样做?我尝试了很多变化,但没有一个有效。如果我不使用 !! 运算符并从上下文菜单中选择 Add non-null asserted (!!) call,IntelliJ 甚至会提供生成相同的代码。
【问题讨论】:
-
这能回答你的问题吗? Increase value in mutable map
-
它没有。它只是提供了一些 hacky 解决方法,而没有解释为什么这么简单的东西不起作用。
标签: dictionary kotlin mutable mutablemap