如何将Scala命令行参数传递给Java方法?
我有一段Scala代码:如何将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,如下
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__对,是这样的。