我有一个包含几个字符串的不可变Scala Set[String]
,比如{"a", "b", "c"}
。我想基本上将它们添加到看起来像String
的{{1}}中。我知道我可以创建一个"\"a\",\"b\",\"c\""
并使用for循环来获得结果。但是由于Scala鼓励在 val 上使用不可变的 val ,并且在集合上定义了很多操作,我想知道是否有更优雅的方法来实现结果。
感谢。
答案 0 :(得分:5)
如果要从scala集合创建String,则只需使用mkString(sep)
即可。例如,
Set("a", "b", "c").mkString(",")
答案 1 :(得分:3)
您可以使用map
用引号括起来,然后mkString
以逗号作为分隔符将它们连接起来。
s.map(x => s""""$x"""").mkString(",")
或
s.map(x => "\"" + x + "\"").mkString(",")
(高音引用是一种Scala方式,可以避免从内部逃避任何事情,而美元是字符串插值。)