У меня есть класс 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}"
Теперь, кто-нибудь теперь, как преобразовать params в Object [], который может быть использован правильно?
Я попытался сделать:
def info(msg: => String, params: Any*)
log.info(msg, params.toList.toArray);
}
Но это не работает:
"Started on [Ljava.lang.Object;@14a18d:{1}"
Подобное происходит, когда вы делаете:
params.asInstanceOf[WrappedArray[Object]].array