为了账号安全,请及时绑定邮箱和手机立即绑定

将“字符串*”(斯卡拉)转换为/从“字符串...”(爪哇)

将“字符串*”(斯卡拉)转换为/从“字符串...”(爪哇)

慕运维8079593 2022-09-28 14:56:54
我正在将一些弹性搜索 Java API 转换为斯卡拉。Java中有一些方法采用类型的变量,所以我试图提供一个带有类型变量的Scala函数,它封装了该Java方法。我没有找到转换为.String... indicesindices: String*String*String...感谢您的帮助。
查看完整描述

2 回答

?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

Scala与Java vararg函数进行互操作,所以如果你知道参数,你可以提供它们。

但是斯卡拉将作为斯卡拉通过。但是,您需要展开其中的内容并将其作为参数提供给 Java 函数。String*SeqSeq

Scala 有一个特殊的语法,用于指定 应展开 a 的内容并将其传递给函数。在 .Seq: _*Seq

所以,它应该是这样的:

def myScalaFunction( args : String* ) : Unit = { 
  javaStringVaragsFunction( args : _* )
}

试一试吧!


查看完整回答
反对 回复 2022-09-28
?
慕容森

TA贡献1853条经验 获得超18个赞

这应该有效:

javaMethod(args: _*)

例:

val args = Array("1", "2")
String.format("%s %s", args: _*)


查看完整回答
反对 回复 2022-09-28
  • 2 回答
  • 0 关注
  • 82 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信