Es gibt viele Artikel über Java-Varargs aus Scala-Code aufrufen, aber das einzige, was ich den umgekehrten Weg finden konnte, war diese Frage: Using scala vararg methods in java, die keine konkreten Beispiele hat.Wie benutze Scala varargs von Java code
Ich versuche, scala.Console
aus einigen Java-Code zu verwenden, aus dem Grund, dass java.io.Console
nicht in Eclipse funktioniert, während die Scala man tut. Aber ich kann nicht die Methode
def readLine (text: String, args: Any*): String
zu arbeiten, weil es scheint ein scala.collection.Seq[Any]
für das zweite Argument zu erwarten, und ich sehe nicht, wie ein Seq
in Java erstellen. Wie kann ich das umgehen?
Dinge, die ich habe versucht:
1) Unter Verwendung von null
// Java
String s = scala.Console.readLine("Enter text: ", null);
- mit einem NullPointerException
belohnt. Ersetzen
2) die null
mit scala.collection.Seq.empty()
, aber Javac Berichte alle möglichen Fehler wie Seq
keine empty
Verfahren mit.
3) Mit dem Nil
Objekt im scala.collection.immutable
Paketobjekt, aber die Syntax vorgeschlagen here, die scala.collection.immutable.package$Nil$.MODULE$
wäre, aber das kann nicht aufgelöst werden.
Natürlich könnte ich einfach die readLine()
Methode verwenden, die Varargs nicht übernimmt, aber das wäre zu einfach.
Ich habe die Antwort bearbeitet. – axel22
Großartig, das funktioniert. Beide zeigen immer noch Fehler in Eclipse, aber sie kompilieren tatsächlich. Dies könnte Teil des Problems gewesen sein. –