Существует множество статей о вызове Java vararg из кода Scala, но единственное, что я смог найти в обратном направлении, это этот вопрос:Использование методов scala vararg в java , у которого нет конкретных примеров.
Я пытаюсь использовать scala.Console
из кода Java, по той причине, что java.io.Console
не работает в Eclipse, а Scala работает. Но я не могу заставить метод
def readLine (text: String, args: Any*): String
работать, потому что он, кажется, ожидает scala.collection.Seq[Any]
для второго аргумента, и я не вижу, как создать Seq
в Java. Как я могу обойти это?
Вещи, которые я пробовал:
1)Используя null
// Java
String s = scala.Console.readLine("Enter text: ", null);
-получайте вознаграждение в виде NullPointerException
.
2)Замена null
на scala.collection.Seq.empty()
, но javac сообщает о всевозможных ошибках, таких как Seq
отсутствие метода empty
.
3)Использование объекта Nil
в объекте пакета scala.collection.immutable
, но синтаксис предлагал здесь , что было бы scala.collection.immutable.package$Nil$.MODULE$
, но это не может быть разрешено.
Конечно, я мог бы просто использовать метод readLine()
, который не принимает varargs, но это было бы слишком просто.