我有一个List
定义为:
val l = List("1", "2", "3")
我想把它转换成字符串
"1:2:3"
一种方法如下:
l.foldLeft("")((x, y) => x + (if (x == "") "" else ":") +y)
有没有更优雅的方法?
[编辑:进一步解释]
当元素l
具有“有意义”的toString
方法时,Easy Angel 的答案有效。
虽然我有l
as List[String]
,但l
可以是不覆盖该toString
方法的自定义类型的列表,例如:
class my(i:Int) {
val x = i
}
我也有方法
def getMy(m:my) = "Hello "+m.x
所以我希望getMy
使用的输出而不是默认toString
方法的输出。