小编jav*_*ier的帖子

为什么我得到"模式类型与预期类型不兼容"?

我遇到了一个我自己无法解决的Scala代码错误(我是Scala的新手).我有以下代码:

def myFunction(list: List[Any]): String = {
  var strItems : String = "";
  list.foreach(item => {
    strItems += item match {
      case x:JsonSerializable => x.toJson()
      case y:String => ("\"" + y + "\"")
      case _ => item.toString
    }
    if(item != list.last)
      strItems +=  ",";
  })
  strItems;
}
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

错误:模式类型与预期类型不兼容; found:需要字符串:单位大小写y:String =>("\""+ y +"\"")

知道为什么吗?

PS:有一种更高效的代码来实现myFunction的编码方式

scala match

4
推荐指数
1
解决办法
2081
查看次数

标签 统计

match ×1

scala ×1