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