我正在开发一个 Scala 程序,该程序从 Java 库中调用一个函数,处理结果,然后输出一个 CSV。
有问题的 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。我看到了这个问题,但我不确定如何编写“显式隐式转换”。