将List [List [Any]]转换为Scala中的List [List [String]]

时间:2017-09-12 07:23:52

标签: string scala list

我要将以下List[List[Any]]转换为List[List[String]]

val input:List[List[Any]] = List(List(1234), List(234, 678), List(8765, 90876, 1))

我正在寻找以下输出:

val output:List[List[String]] = List(List(1234), List(234, 678), List(8765, 90876, 1))

我尝试过以下操作:

val output:List[List[String]] = input.map(_.toString).toList
// or 
val output:List[List[String]] = input.map(_.toString)

以上都没有给我所需的输出。

1 个答案:

答案 0 :(得分:2)

因为您的列表是嵌套的,所以需要将其映射两次。

为什么以下不起作用?

val output:List[List[String]] = input.map(_.toString)

因为,_ placeholder包含List[String]类型的值,并且应用toString方法将List转换为String,因此结果将为{{1}类型而不是List[String]

List[List[String]]

因此,您需要将输入映射两次。

scala> input.map(_.toString)
res2: List[String] = List(List(1234), List(234, 678), List(8765, 90876, 1))