在 Kotlin 中,可以将括号表示法与 Map 一起使用,因此以下代码:
val mapOfMap: Map<String, Map<String, String>> = mapOf("Key1" to mapOf("Subkey1" to "Value1", "Subkey2" to "Value2"))
println(mapOfMap["Key1"])
印刷:
{Subkey1=Value1, Subkey2=Value2}
那太棒了。但是为什么我不能执行以下操作
println(mapOfMap["Key1"]["Subkey1"])
它会导致编译错误:在 Map 类型的可为空的接收器上只允许安全 (?.) 或非空断言 (!!.) 调用?
处理这个问题的正确方法是什么?