ScalaコードからJavavarargsを呼び出すことに関する記事はたくさんありますが、逆の方法で見つけたのはこの質問だけでした。具体的な例がないjavaでscalavarargメソッドを使用することです。
Eclipseでは機能しないのに対し、Scalaでは機能scala.Console
するという理由で、いくつかのJavaコードから使用しようとしています。java.io.Console
しかし、私は方法を得ることができません
def readLine (text: String, args: Any*): String
2番目の引数にaを期待しているようで、Javaでscala.collection.Seq[Any]
を作成する方法がわかりません 。Seq
どうすればこれを回避できますか?
私が試したこと:
1)nullを使用する
// Java
String s = scala.Console.readLine("Enter text: ", null);
-で報酬を受け取りNullPointerException
ます。
2)をに置き換えますnull
が、javacは、メソッドがないscala.collection.Seq.empty()
など、あらゆる種類のエラーを報告します。Seq
empty
3)パッケージオブジェクトNil
内のオブジェクトを使用しますが、ここで提案されている構文は、ですが、解決できません。scala.collection.immutable
scala.collection.immutable.package$Nil$.MODULE$
もちろんreadLine()
、varargsを使用しない方法を使用することもできますが、それは簡単すぎます。