gpt4 book ai didi

scala - 访问嵌套 map 的值

转载 作者:行者123 更新时间:2023-12-01 10:53:09 24 4
gpt4 key购买 nike

我有一张 map

val m = Map(1->13, 2->Map(3->444, 4-> List("aaa", "bbb")))

我想获取它的嵌套值:

// these all lead to an error
m.get(2)(3)
m.get(2).get(3)
m.get(2).get.get(3)

我该怎么做?

最佳答案

你有lost type information .

你实际上可以做你想做的事,但它不是类型安全的。

m.get(2).flatMap{ case m2: Map[Int, _] => m2.get(3) }

因为你丢失了类型信息,所以你必须显式转换,所以如果你想获得列表的元素,你应该这样做:

m.get(2).flatMap{ case m2: Map[Int, _] => m2.get(4) }.map{ case l: List[_] => l(1) }

你应该尽量保存类型信息。至少你可以使用 Either

关于scala - 访问嵌套 map 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16932358/

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