【发布时间】:2012-05-22 18:41:20
【问题描述】:
我在 Scala 库类中有 2 个简单的方法:
class Foo {
def bar(args : String*) : Unit = println("Foo.bar with: " + args)
def bar(args : Array[String]) : Unit = bar(args.toSeq : _*)
}
这一切都编译得很好。然后我将其放入库 foo.jar 并尝试编译以下 Java:
import Foo
public class Test {
public static void main(String[] args) {
Foo foo = new Foo();
foo.bar("Hello", "World"); //DOES NOT COMPILE
}
}
我可以将有问题的行替换为:
foo.bar(new String[] { "Hello", "World" }); //OK
但这似乎违背了这一点。如何使用 Java varargs-like 语法从 Java 调用它?
【问题讨论】:
-
可能是拼写错误,但
Foo类没有foo方法。 -
我所说的显然是错误的,尽管我承认这让我感到困惑。我正在删除我的答案以避免传播错误信息。
标签: java scala interop variadic-functions