Sigo siendo un programador de Scala novato, lo siento si esta pregunta puede parecer ingenua, pero busqué por un tiempo y no encontré soluciones. Estoy usando Scala 2.8, y tengo un PXGivenZ clase define como:Problema de falta de coincidencia de Scala (esperado Mapa, encontrado scala.collection.mutable.HashMap)
class PXGivenZ (val x:Int, val z:Seq[Int], val values: Map[Seq[Int], Map[Int, Double]]){...}
Cuando intento crear una instancia de un elemento de esa clase en otro bloque de programa como este:
// x is an Int
// z is a LinkedList of Int
...
var zMap = new HashMap[Seq[Int], HashMap[Int, Double]]
...
val pxgivenz = new PXGivenZ(x, z, zMap)
tengo la siguiente error:
found : scala.collection.mutable.HashMap[Seq[Int],scala.collection.mutable.HashMap[Int,Double]]
required: Map[Seq[Int],Map[Int,Double]]
val pxgivenz = new PXGivenZ(x, z, zMap)
^
es evidente que hay algo que no entiendo: ¿Cómo es un mapa [Sec [Int], mapa [Int, doble]] diferente de un HashMap [SEC [Int], HashMap [Int ,Doble]]? ¿O hay algún problema con las clases "mutables"?
Gracias de antemano a cualquier persona que me ayude!
Gracias! Eso resolvió el problema :-) – Alberto
'HashMap' puede ser mutable o inmutable. La versión mutable debe haberse importado. –