韩老师,您好!看了您的scala的模式匹配,好像你有个地方讲错了。
Map[String,Int]和Map[Int,String],其实这里用在模式匹配中,会存在泛型丢失的情况。
也就是说:
Map("aa" -> 5),或Map(5 -> "aa")会匹配到第一个与之匹配的Map,不管这个Map的泛型是怎样的。
如果Map[String,Int]写在前面,那就匹配到它。
如果Map[Int,String]写在前面,那就匹配到它。
而只有Array不存在泛型丢失,可以精确匹配到。List也存在泛型丢失。