我有一个案例课
case class table(a: String, b: Option[String])
我有一个这种类型的列表 - 我们称之为 list1
val list1: List[table] = tabele.get() // just filling the list from an SQL
现在我想将“表”列表更改为 (String,Option[String]) 的简单列表 我已经在此板上找到的是如何将案例类转换为这样的元组:
case class table(a:String, b:Int)
val (str, in) = table.unapply(table("test", 123)).get()
但我不知道如何在 List 上使用它 :( 我尝试了一些 foreach 之类的东西:
val list2: List[(String, Option[String])] = Nil
list1.foreach( x => list2 :: table.unapply(x).get())
'error (String,Option[String]) does not take parameters
所以我的问题是-> 如何在列表的每个元组上使用 unapply?
预先感谢
PS:我实际上想更改列表的类型,因为我想在该列表上使用“.toMap” - 比如:
val map1 = list1.toMap.withDefaultValue(None)
出现错误:
Cannot prove that models.table <:<(T,U)
它适用于 (String, Option[String]) 列表