私は他の誰かのJavaコードをscalaに変換しています(好奇心が強いので、これはここの例です)、そして私は以下のコンパイラエラーに遭遇しました(いくらか単純化されています):
var out = new Formatter(new StringBuilder(), Locale.US)
out.format("%s-%d ", someObject, someInteger);
そして、これが私が受け取るエラーメッセージです:
[error] (java.util.Locale,java.lang.String,<repeated...>
[java.lang.Object])java.util.Formatter <and>
[error] (java.lang.String,<repeated...>[java.lang.Object])java.util.Formatter
[error] cannot be applied to (java.lang.String, java.lang.Object, Int)
...
[error] one error found
これは、2行目を次のように変更した場合に機能します。
out.format("%s-%d ", someObject, someInteger.asInstanceOf[Object]);
誰かがこれがなぜであるか説明できますか?
これは、オブジェクト引数が期待されているが、scalaではそうではない整数をJavaで渡しても問題がないことを意味しますか?