Ответ 1
Добавьте :_*
к параметру в test
, как этот
test(some:_*)
И он должен работать так, как вы ожидаете.
Если вам интересно, что делает этот магический :_*
, обратитесь к этому вопросу.
Рассмотрим приведенный ниже код:
private def test(some:String*){
}
private def call () {
val some = Array("asd", "zxc")
test(some)
}
Он печатает expect String, found Array[String]
Почему? Scala varargs не массивы?
Примечание
Я нашел несколько вопросов о переполнении стека о Scala varargs, но все они касаются вызова методов Java varargs или преобразования списков Scala в массивы.
Добавьте :_*
к параметру в test
, как этот
test(some:_*)
И он должен работать так, как вы ожидаете.
Если вам интересно, что делает этот магический :_*
, обратитесь к этому вопросу.
Это просто:
def test(some:String*){}
def call () {
val some = Array("asd", "zxc")
test(some: _*)
}