【发布时间】:2016-07-27 05:08:32
【问题描述】:
我遇到了一个奇怪的问题。我正在尝试编写一个简单的隐式类:
private implicit class CounterMap[A](map: Map[A, Int]) {
def updateCounter(k: A): Map[A, Int] =
map + (k → map.getOrElse(k, 0) + 1)
}
但是当我尝试编译时,出现以下错误:
错误:类型不匹配; 找到 : Int(1) 必需:字符串 map + (k → map.getOrElse(k, 0) + 1)
这篇文章似乎与Scala - type mismatch; found Int, required String 相似,但对我来说似乎并不明显我犯了同样的错误。我对在 Scala 中使用隐式类和泛型还很陌生,所以我很可能在这里遗漏了一些明显的东西。任何关于我为什么会收到此错误的帮助或解释都会令人惊叹。
提前致谢。
【问题讨论】:
标签: scala