Scala collections FAQ: How can I convert a Scala array to a String? (Or, more, accurately, how do I convert any Scala sequence to a String.)
A simple way to convert a Scala array to a String is with the mkString method of the Array class. (Although I've written "array", the same technique also works with any Scala sequence, including Array, List, Seq, ArrayBuffer, Vector, and other sequence types.)
Here's a quick array to string example using the Scala REPL:
scala> val args = Array("Hello", "world", "it's", "me") args: Array[java.lang.String] = Array(Hello, world, it's, me) scala> val string = args.mkString(" ") string: String = Hello world it's me
In this first statement:
val args = Array("Hello", "world", "it's", "me")
I create a Scala array named args, and in this second statement:
val string = args.mkString(" ")
I create a new String variable named string, separating each String in the array with a space character, which I specified when calling the mkString function.
Using other separator strings
Note that I could have given the mkString function any String to use as a separating character, like this:
scala> val string = args.mkString("\n") string: String = Hello world it's me
or like this:
scala> val string = args.mkString(" . ") string: String = Hello . world . it's . me
Converting a Scala Int array to a String
As a final example, you can also use the Scala mkString method to convert an Int array to a String, like this:
scala> val numbers = Array(1,2,3) numbers: Array[Int] = Array(1, 2, 3) scala> val string = numbers.mkString(", ") string: String = 1, 2, 3
In summary, I hope these Scala "Array to String" examples have been helpful.
Specifying a prefix, separator, and suffix with mkString
When using mkString with a Scala array, list, seq, etc., you can also define a prefix, suffix, and element separator, as shown in these examples:
scala> val numbers = Array(1,2,3) numbers: Array[Int] = Array(1, 2, 3) scala> numbers.mkString("[", ",", "]") res0: String = [1,2,3]
scala> numbers.mkString("(", ",", ")") res1: String = (1,2,3)
Those examples show typical prefix, separator, and suffix values, but you can use any String you want for those three values.
There’s just one person behind this website; if this article was helpful (or interesting), I’d appreciate it if you’d share it. Thanks, Al.