我有一个奇怪的问题。我正在尝试编写一个简单的隐式类:
frame.pack()
但是当我尝试编译时,我收到以下错误:
错误:类型不匹配; 发现:Int(1) 必需:字符串 map +(k→map.getOrElse(k,0)+ 1)
这篇文章看起来很相似Scala - type mismatch; found Int, required String,但对我来说,我犯了同样的错误似乎并不明显。我在Scala中使用隐式类和泛型相当新,所以我很可能在这里遗漏了一些明显的东西。任何帮助或解释为什么我收到这个错误都会很棒。
提前致谢。
答案 0 :(得分:2)
问题似乎与括号有关。将内部表达括在括号中,如下所示:
map + (k -> (map.getOrElse(k, 0) + 1))
你提到的其他帖子有不同的问题。在该帖子中,Int
被用作类型参数,而不是这里的情况。