gpt4 book ai didi

scala - 类型不匹配,发现 Int 需要 String

转载 作者:行者123 更新时间:2023-12-05 04:13:04 27 4
gpt4 key购买 nike

我遇到了一个奇怪的问题。我正在尝试编写一个简单的隐式类:

private implicit class CounterMap[A](map: Map[A, Int]) {
def updateCounter(k: A): Map[A, Int] =
map + (k → map.getOrElse(k, 0) + 1)
}

但是当我尝试编译时,出现以下错误:

error: type mismatch; found : Int(1) required: String map + (k → map.getOrElse(k, 0) + 1)

这篇文章看起来很相似 Scala - type mismatch; found Int, required String ,但我犯了同样的错误对我来说似乎并不明显。我对在 Scala 中使用隐式类和泛型还很陌生,所以我很可能在这里遗漏了一些明显的东西。任何关于为什么我会收到此错误的帮助或解释都会很棒。

提前致谢。

最佳答案

问题似乎与括号有关。将内部表达式括在括号中,如下所示:

map + (k -> (map.getOrElse(k, 0) + 1))

您提到的其他帖子有不同的问题。在那篇文章中,Int 被用作类型参数,这里不是这种情况。

关于scala - 类型不匹配,发现 Int 需要 String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38604155/

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