Существует множество статей по вызову Java varargs из кода Scala, но единственный вопрос, который я мог найти в обратном направлении, - это вопрос: Using scala vararg methods in java, который не имеет конкретных примеров.Как использовать Scala varargs из Java-кода
Я пытаюсь использовать scala.Console
из некоторого кода Java по той причине, что 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) Использование Nil
объекта в объекте scala.collection.immutable
пакета, но синтаксис предложил here, который был бы scala.collection.immutable.package$Nil$.MODULE$
, но это не может быть решена.
Конечно, я мог бы просто использовать метод readLine()
, который не принимает varargs, но это было бы слишком легко.
Я отредактировал ответ. – axel22
Отлично, что работает. Оба по-прежнему показывают ошибки в Eclipse, но они действительно компилируются. Возможно, это было частью проблемы. –