Есть много статей по вызову Java varargs из 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$, но это может" t будет разрешено.
Конечно, я мог бы просто использовать метод readLine(), который не принимает varargs, но это было бы слишком легко.