Я не могу получить массив для печати, как обычно строку в Scala
val a = Array("woot","yeah","ok then").sorted
for (i <- a.length-1 to 0 by -1)
println(s"$i: ${a(i)}")
val ab = ArrayBuffer(for (e <- a if e != null) yield e*3)
println(ab.mkString(" "))
По какой-то причине это печатает:
2: yeah
1: woot
0: ok then
ArrayBuffer([Ljava.lang.String;@5034c75a)
И я ожидал, что он напечатает"yeahyeahyeah wootwootwoot ok thenok thenok then"
, то есть элементы в массиве (в виде строк), разделенные пробелом.Почему это не работает и что я делаю неправильно?
РЕДАКТИРОВАТЬ: хорошо, это показывало, потому что я инициализировал ab
как один элемент ArrayBuffer
сэтот массив в качестве элемента вместо элементов этого внутреннего массива, являющихся отдельными элементами буфера массива.