gpt4 book ai didi

java - 将 "String*"(Scala) 转换为/自 "String..."(Java)

转载 作者:行者123 更新时间:2023-11-29 10:08:35 25 4
gpt4 key购买 nike

我正在将一些 Elasticsearch Java API 转换为 Scala。 Java 中有一些方法采用 String...indices 类型的变量,因此我试图为 Scala 函数提供 indices: String* 类型的变量>,它封装了该 Java 方法。我没有找到将 String* 转换为 String... 的方法。

感谢您的帮助。

最佳答案

Scala 与 Java vararg 函数互操作,因此如果您知道参数,就可以提供它们。

但是 Scala String* 将作为 Scala Seq 出现。但是您希望展开 Seq 的内容并将其作为参数提供给 Java 函数。

Scala 有一个特殊的语法来指定 Seq 的内容应该被展开并传递给一个函数。您在 Seq 的名称后写入 : _*

所以,它应该是这样的:

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

试试吧!

关于java - 将 "String*"(Scala) 转换为/自 "String..."(Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55580456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com