JavaプログラムでScalaライブラリを使用しようとしていますが、複雑なスカラ・マップをJavaに変換するのにはいくつかの困難があります。ネストされた複雑なスカラ・マップをJavaに変換する方法
マイ使用Scalaのオブジェクトのメソッドは、以下の戻り値の型を持っていますscala.collection.mutable.Map<String, Map<Object, Seq<Object>>>
私はそのMap<String, Map<Object, List<Object>>>
と同等のJavaに変換する方法を教えてください。
私はすでにJavaConversionsとJavaConvertorsパッケージが、運と遊ん:(
public void getPartitionAssignmentForTopics(final List<String> topics) {
final Seq<String> seqTopics = scala.collection.JavaConversions.asScalaBuffer(topics).toList();
scala.collection.mutable.Map<String, Map<Object, Seq<Object>>> map2 = zkUtils
.getPartitionAssignmentForTopics(seqTopics);
val map:scala.collection.mutable.Map[String, Map[Object, Seq[Object]]] = scala.collection.mutable.Map()
map:
collection.mutable.Map[String, Map[Object, Seq[Object]]] =Map()
map.mapValues(_.mapValues(_.asJava).asJava).asJava
res2:
java.util.Map[String, java.util.Map[Object, java.util.List[Object]]] ={}
}
をこれはコンパイルされません:)
遊んで、私は私がから変換するには、次のコードを使用することを意味しScala Seq to Javaリスト: scala.collection.JavaConversions.seqAsJavaList(zkUtils.getAllTopics());
"遊んだけど運がいい"ってどういう意味ですか?あなたは 'JavaConversions.mapAsJavaMap'を発見しましたか?それを使用することについて "不運"とは何でしたか? – Dima
'java.util.Map >> stringMapMap = JavaConversions.mapAsJavaMap(map2);'次に、すべての項目を変換する必要がありますか? –
多分、それは...多分、あなたは、少なくとも試してみるべきですか? – Dima