У меня есть класс Java, который регистрирует вещи, которые имеют такой метод:
void info(Object message, Object... params);
В Scala я создал оболочку для такого вызова, который выглядит следующим образом:
def info(msg: => String, params: Any*) {
log.info(msg, params);
}
Когда я звоню:
val host = "127.0.0.1"
val port = "1234"
info("Start on {0}:{1}", host, port)
Я получаю:
"Started on WrappedArray(127.0.0.1, 1234):{1}"
А теперь кто-нибудь знает, как преобразовать параметры в объект [], который может потребляться правильно?
Я пытался сделать:
def info(msg: => String, params: Any*)
log.info(msg, params.toList.toArray);
}
Но это не работает:
"Started on [Ljava.lang.Object;@14a18d:{1}"
Подобное происходит, когда вы делаете:
params.asInstanceOf[WrappedArray[Object]].array