gpt4 book ai didi

java - 如何将 Scala 命令行参数传递给 Java 方法?

转载 作者:行者123 更新时间:2023-11-30 04:04:41 26 4
gpt4 key购买 nike

我有一段Scala代码:

class A {
def main(args: Array[String])
}

然后是一段Java代码:

class B {
public static int test(final String... args) {
System.out.println("This is a test.");
// Use the arguments
...
}
}

我想要的是在 A.main 中调用 B.test,如下所示:

class A {
def main(args: Array[String]) = {
val result = B.test(args)
}
}

上面的代码不会工作,因为类型不匹配。如果有人可以提供一个优雅的解决方案,我们将不胜感激。

请仅更改 Scala 部分,因为 Java 部分将来自另一个库。谢谢!

最佳答案

根据 section 4.6.2 of scala language specification ,将列表/数组提供给带有重复参数 (T... args) (如果是 java)或 (args: T*) (如果是 scala)的函数,参数应通过 _* 类型注释标记为序列参数。

在这种特殊情况下,B.test(args: _*) 将起作用。

关于java - 如何将 Scala 命令行参数传递给 Java 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21041809/

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