这是一些对我来说看起来足够合理的代码:
val myMap: Map[Int, Int] = ((x: Int) => Map[Int, Int](1 -> x + 1, 2 -> x + 2))(4)
当我尝试编译它时,我得到两个这样的错误:
Error:(20, 68) type mismatch;
found : Int(1)
required: String
val myMap: Map[Int, Int] = ((x: Int) => Map[Int, Int](1 -> x + 1, 2 -> x + 2))(4)
^
我了解我的编译器正在尝试使用+
. 但它为什么要这样做呢?我如何要求编译器在这里使用整数加法?
(更改Int
为Integer
无济于事。)