在Scala集中追加String元素的优雅方法是什么?

时间:2015-07-05 23:02:23

标签: scala set string-concatenation

我有一个包含几个字符串的不可变Scala Set[String],比如{"a", "b", "c"}。我想基本上将它们添加到看起来像String的{​​{1}}中。我知道我可以创建一个"\"a\",\"b\",\"c\""并使用for循环来获得结果。但是由于Scala鼓励在 val 上使用不可变的 val ,并且在集合上定义了很多操作,我想知道是否有更优雅的方法来实现结果。

感谢。

2 个答案:

答案 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方式,可以避免从内部逃避任何事情,而美元是字符串插值。)