Java ライブラリから関数を呼び出し、結果を処理し、CSV を吐き出す Scala プログラムに取り組んでいます。
問題の Java 関数は次のようになります。
Map<String, Map<String, AtomicLong>> getData();
スカラ:
import scala.collection.JavaConversions._
def analysisAndCsvStuff(data: Map[String, Map[String, AtomicLong]]): Unit { ... }
エラー:
type mismatch;
found:java.util.Map[java...String,java...Map[java...String,java...AtomicLong]]
required: scala...Map[String,scala...Map[String,java...AtomicLong]]
(パス名が書式設定を台無しにしていました。)
JavaConversions は、外側の Java...Map を正常に変換できますが、内側の Java...Map は変換できないと推測しています。この質問を見ましたが、「明示的暗黙的変換」の書き方がわかりません。