Getting errors while using generics in scala:
import scala.collection.mutable
class test {
val car = mutable.Map.emprty[String, (Int,Int)]
read[String, (Int,Int)] ("file.txt",car)
def read[T,V] (fileName:String, mapName: mutable.Map[T,V]) {
mapName("abc") = (1,2)
}
Error:
error: type mismatch
found: java.lang.String("abc")
required: T
Your code isn't really generic, because inside
read
function body, you are assumingT
andV
to beString
and(Int, Int)
. The generic parameters are bounds on your method signature and they are only useful when types of arguments or return types relate in some way to each other.I think with your code will be perfectly fine to use concrete types in the
read
function signature: