将Scala数组转换为Java数组的最快方法

5
我在 Java 中有一个带有以下签名的方法 void setActiveProfiles(String... profiles),我可以将字符串数组传递给此方法。我想调用该方法并传递一个 Array[String],但是我收到了 Type mismatch 错误。我的问题是转换 Scala 数组为 Java 数组的最佳和最优方式是什么?
这是编译错误的主体内容:
type mismatch;
 found   : Array[String]
 required: String

1
你能显示错误吗?你是在尝试将Java数组发送到Scala函数吗? - Jatin
不,我想在Scala中使用可变参数调用Java方法。 - Pooya
6
我认为我的答案是 setActiveProfiles(array:_*) - Pooya
1
你不需要做任何事情。如果你有一个Java函数,它期望一个String[],那么Scala编译器会自动将Array[String]转换为String[]。请展示错误信息。 - Jatin
@Jatin 不行,因为参数类型是Vararg。 - Pooya
也许你需要传递它作为setActiveProfiles(profiles:_*)。 - vitalii
1个回答

4
我已经找到了答案并测试过了,调用方法为setActiveProfiles(array:_*)

也许你可以修改你的问题以匹配你的答案? - Mark Lister

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接