【问题标题】:Kotlin - Map integers to lists of listsKotlin - 将整数映射到列表列表
【发布时间】:2021-04-02 06:06:35
【问题描述】:

我正在尝试在 kotlin 中找到正确的语法来初始化“Map>>”。我对 kotlin 有点陌生。我在我的类中初始化了变量:

var jitterMs: Double = 0.0

我尝试初始化的方式是这样的:

val bandMap: Map<Int,<List<List<String>>>> = emptyMap()

它给了我一个错误,即需要一个正确的 getter 或 setter,我认为这是因为它不明白我想要做什么。这个语法有什么问题?

谢谢,

编辑:正如 Tenfour 所指出的,我实际上想要一个可变地图。这就是我现在的错误,说存在类型错误:

val bandMap: MutableMap<Int,List<List<String>>> = emptyMap()

【问题讨论】:

  • 你有一组额外的&lt;&gt; 包裹在你的外部列表周围。此外,由于这是一个 val,因此您将无法使用只读 Map 而不是 MutableMap 做很多事情。
  • 谢谢,不再有语法错误。我想要一个 MutableMap,所以我改变了它,谢谢。我现在收到 emptymap() 的错误: val bandMap: MutableMap>> = emptyMap()
  • 您需要使用mutableMapOf() 而不是emptyMap()emptyMap 返回一个只读映射。

标签: android kotlin


【解决方案1】:

你会这样做:

val bandMap: Map<Int, List<List<String>>> = emptyMap()

对于MutableMap,请写以下内容:

val bandMap: MutableMap<Int, List<List<String>>> = mutableMapOf()

或者,制作mutableMap 的最惯用方式是:

val bandMap = mutableMapOf<Int, List<List<String>>>()

【讨论】:

    【解决方案2】:
    val bandMap: Map<Int,List<List<String>>> = emptyMap()
    

    这会奏效。你添加了额外的

    【讨论】:

      猜你喜欢
      • 2019-01-16
      • 2012-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-06
      • 2022-08-22
      • 2016-12-17
      相关资源
      最近更新 更多