有很多关于从 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) 替换了null
with scala.collection.Seq.empty()
,但是 javac 报各种错误,比如Seq
没有empty
方法。
3)使用包对象Nil
中的对象,但是这里scala.collection.immutable
建议的语法是,但无法解决。scala.collection.immutable.package$Nil$.MODULE$
当然我可以只使用readLine()
不带可变参数的方法,但这太容易了。