Consider the code below:
private def test(some:String*){ } private def call () { val some = Array("asd", "zxc") test(some) }
It prints expect String, found Array[String]
Why? Are Scala varargs not arrays?
Note
I found several questions on Stack Overflow about Scala varargs, but all of them are about calling Java varargs methods or about converting Scala lists to arrays.
Append :_*
to the parameter in test
like this
test(some:_*)
And it should work as you expect.
If you wonder what that magical :_*
does, please refer to this question.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With