Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将Scala命令行参数传递给Java方法?_Java_Scala_Command Line Arguments - Fatal编程技术网

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

如何将Scala命令行参数传递给Java方法?,java,scala,command-line-arguments,Java,Scala,Command Line Arguments,我有一段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,如下

我有一段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部分将来自另一个库。谢谢大家!

根据,如果使用java,或使用scala,则要使用重复参数
(T…args)
(args:T*))向函数提供列表/数组,则应通过
.*
类型注释将参数标记为序列参数


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

我手头没有要验证的repl,但我认为
B.test(args:*)
应该起作用。@folone是的,就是这样!我刚刚测试了一下,效果不错。谢谢大家!@folone你应该把它作为一个答案,这样问题就可以closed@0__对,是这样的。