我正在将一些弹性搜索 Java API 转换为斯卡拉。Java中有一些方法采用类型的变量,所以我试图提供一个带有类型变量的Scala函数,它封装了该Java方法。我没有找到转换为.String... indicesindices: String*String*String...感谢您的帮助。
2 回答
拉风的咖菲猫
TA贡献1995条经验 获得超2个赞
Scala与Java vararg函数进行互操作,所以如果你知道参数,你可以提供它们。
但是斯卡拉将作为斯卡拉通过。但是,您需要展开其中的内容并将其作为参数提供给 Java 函数。String*
Seq
Seq
Scala 有一个特殊的语法,用于指定 应展开 a 的内容并将其传递给函数。在 .Seq
: _*
Seq
所以,它应该是这样的:
def myScalaFunction( args : String* ) : Unit = { javaStringVaragsFunction( args : _* ) }
试一试吧!
慕容森
TA贡献1853条经验 获得超18个赞
这应该有效:
javaMethod(args: _*)
例:
val args = Array("1", "2") String.format("%s %s", args: _*)
添加回答
举报
0/150
提交
取消