我正在尝试包装一个接收可变数量参数的 Java 方法,例如:
void info(String var1, Object... var2);
我使用了以下内容:
def info(message: String, any: Any*): Unit = {
LOGGER.info(message, any)
}
但这不起作用,它最终会调用一个仅接收 1 个对象的 info:
void info(String var1, Object var2);
如何解决调用接收多个参数的java方法?
谢谢!
最佳答案
尝试
def info(message: String, any: Any*): Unit = {
LOGGER.info(message, any.asInstanceOf[Seq[Object]]: _*)
}
或
def info(message: String, any: AnyRef*): Unit = {
LOGGER.info(message, any: _*)
}
不进行强制转换,但不适用于原始类型。
关于java - 调用从 Scala 接收可变数量参数的 Java 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57873216/