Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala映射中的任意一个_Scala_Scala Collections - Fatal编程技术网

Scala映射中的任意一个

Scala映射中的任意一个,scala,scala-collections,Scala,Scala Collections,我需要一个Map[String,或者[Seq[String],String]],它应该是可变的(是的,我知道一些不好的做法,但我还在学习)。所以,当我试图这样定义它时: val map: Map[String, Either[Seq[String], String]] = mutable.HashMap("" -> Right("")) 我犯了一个错误 type mismatch; [error] found : scala.collection.mutable.HashMap[

我需要一个
Map[String,或者[Seq[String],String]]
,它应该是可变的(是的,我知道一些不好的做法,但我还在学习)。所以,当我试图这样定义它时:

 val map: Map[String, Either[Seq[String], String]] = mutable.HashMap("" -> Right(""))
我犯了一个错误

type mismatch;
[error]  found   : scala.collection.mutable.HashMap[String,scala.util.Right[Nothing,String]]
[error]  required: Map[String,Either[Seq[String],String]]
[error]   val map:Map[String,Either[Seq[String],String]] = mutable.HashMap("" -> Right(""))

如何正确定义它?

一般来说,在创建可变集合(或
var
s或任何可变集合)时,最好在创建时显式指定类型。这是因为可变集合在包含的类型中是不变的,而推断不变类型是不可靠的

所以你可以写

val map = mutable.HashMap[String,Either[Seq[String],String]]("" -> Right(""))

这应该是正确的类型。

哦,是的,我刚刚忘记了可变集合的不变量)谢谢)HashMap(“->Right[Seq[String],String](”)-我认为应该可以工作。