1、 报错消息:
found :Seq[String]
required:Seq[Long]
commentIds = Option(session("noteId").as[String].split("&").toSeq)
2、正确语句:
var StringToLong =(x:String)=>x.toLong;
commentIds = Option(session("noteId").as[String].split("&").map(StringToLong).toSeq)
3、分析
中间尝试了foreachd的方式如下
commentIds = Option(session("noteId").as[String].split("&").foreach(StringToLong).toSeq)
依然报错,只是换了另一种错误
found : Seq[Unit] (in scala.collection.immutable)
required: Seq[Long] (in scala.collection)
commentIds = Option(session("noteId").as[String].split("&").foreach(StringToLong).toSeq),
继续分析发现了foreach和map的区别:简单理解就是foreach和map都是遍历集合对象,但是foreach后并没有返回值,而map会返回映射后的新集合对象,在某种意义上,map可以代替foreach使用,而foreach无法代替map。我的这个地方需要返回值,所以要用map