Jak używać Scala varargs z kodu Java
Istnieje wiele artykułów na temat wywoływania Java varargs z kodu Scala, ale jedyne, co mogłem znaleźć w odwrotnej kolejności, to to pytanie:Używanie metod scala vararg w java, która nie ma żadnych konkretnych przykładów.
Próbuję użyćscala.Console
z jakiegoś kodu Java z tego powodujava.io.Console
nie działa w Eclipse, podczas gdy Scala. Ale nie mogę znaleźć metody
<code>def readLine (text: String, args: Any*): String </code>
do pracy, ponieważ wydaje się, że oczekujescala.collection.Seq[Any]
dla drugiego argumentu i nie widzę, jak utworzyćSeq
w Javie. Jak mogę to obejść?
Rzeczy, które próbowałem:
1) Używanie wartości null
<code>// Java String s = scala.Console.readLine("Enter text: ", null); </code>
- otrzymasz nagrodęNullPointerException
.
2) Wymiananull
zscala.collection.Seq.empty()
, ale javac zgłasza różnego rodzaju błędy, takie jakSeq
nie mającempty
metoda.
3) Korzystanie zNil
obiekt wscala.collection.immutable
obiekt pakietu, ale sugerowana składniatutaj, co byłobyscala.collection.immutable.package$Nil$.MODULE$
, ale nie można tego rozwiązać.
Oczywiście mogłem po prostu użyćreadLine()
metoda, która nie przyjmuje varargów, ale to byłoby zbyt łatwe.