有很多关于从 Scala 代码调用 Java varargs 的文章,但我唯一能找到相反的方法是这个问题:Using scala vararg methods in java,它没有任何具体的例子。
我正在尝试使用scala.Console一些 Java 代码,因为它java.io.Console在 Eclipse 中不起作用,而 Scala 则可以。但我无法获得方法
def readLine (text: String, args: Any*): String
工作,因为它似乎期待scala.collection.Seq[Any]第二个参数,我不知道如何 Seq在 Java 中创建。我该如何解决这个问题?
我尝试过的事情:
1)使用空
// Java
String s = scala.Console.readLine("Enter text: ", null);
- 获得奖励NullPointerException。
2) 替换了nullwith scala.collection.Seq.empty(),但是 javac 报各种错误,比如Seq没有empty方法。
3)使用包对象Nil中的对象,但是这里scala.collection.immutable建议的语法是,但无法解决。scala.collection.immutable.package$Nil$.MODULE$
当然我可以只使用readLine()不带可变参数的方法,但这太容易了。