从Scala代码中调用Java可变参数值有很多文章,但唯一能找到相反方向的是这个问题:Using scala vararg methods in java,它没有任何具体的例子。如何从Java代码中使用Scala可变参数
我试图从某些Java代码中使用scala.Console
,因为java.io.Console
在Eclipse中不起作用,而Scala却不起作用。但我不能让
def readLine (text: String, args: Any*): String
工作,因为它似乎在期待的第二个参数中scala.collection.Seq[Any]
,我没有看到如何在Java中创建Seq
的方法。我该如何解决这个问题?
事情我已经尝试:
1)使用空
// Java
String s = scala.Console.readLine("Enter text: ", null);
- 得到了NullPointerException
奖励。
2)更换null
与scala.collection.Seq.empty()
,但javac的报告各种错误如Seq
不具有empty
方法。
3)使用在scala.collection.immutable
包对象的对象Nil
,但语法建议here,这将是scala.collection.immutable.package$Nil$.MODULE$
,但不能得到解决。
当然,我可以使用readLine()
方法不采用可变参数,但这太容易了。
我编辑了答案。 – axel22 2012-04-08 12:09:42
太好了,那有效。两者仍然在Eclipse中显示错误,但它们确实进行了编译。这可能是问题的一部分。 – 2012-04-08 12:30:16