Есть много статей по вызову 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, но это было бы слишком легко.