简体   繁体   English

Scala 2.8.1隐式转换为java.util.List <java.util.Map<String, Object> &gt;

[英]Scala 2.8.1 implicitly convert to java.util.List<java.util.Map<String, Object>>

I have a Scala data structure created with the following: 我有一个使用以下代码创建的Scala数据结构:

List(Map[String, Anyref]("a" -> someFoo, "b" -> someBar))

I would like to implicitly convert it (using scala.collection.JavaConversions or scala.collection.JavaConverters ) to a java.util.List<java.util.Map<String, Object>> to be passed the a Java method that expects the latter. 我想将其隐式转换(使用scala.collection.JavaConversionsscala.collection.JavaConverters )转换为java.util.List<java.util.Map<String, Object>>传递给Java方法,该方法期望后者。

Is this possible? 这可能吗?

I have already created the following method that does it, but was wondering if it can be done automatically by the compiler? 我已经创建了执行此操作的以下方法,但想知道编译器是否可以自动完成此操作?

import scala.collection.JavaConversions._
def convertToJava(listOfMaps: List[Map[String, AnyRef]]):
  java.util.List[java.util.Map[String, Object]] = {
  asJavaList(listOfMaps.map(asJavaMap(_)))
}

How about writing 写作怎么样

implicit def convertToJava...

?

You don't want this kind of multilevel conversion happening by magic. 您不希望魔术发生这种多级转换。 You can improve a little on your own conversion though, at least aesthetically. 不过,至少在美学上,您可以根据自己的转换进行一些改进。

import java.{ util => ju }
implicit def convert[K, V](xs: List[Map[K, V]]): ju.List[ju.Map[K, V]] = xs map (x => x: ju.Map[K, V])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 java.util.List 和 java.util.Map 的 Flink 序列化 - Flink serialization of java.util.List and java.util.Map 将java.util.Map [String,Object]转换为scala.collection.immutable.Map [String,Any] - convert java.util.Map[String, Object] to scala.collection.immutable.Map[String, Any] 如何使用Jackson序列化为java.util.List和java.util.Map - How to serialize to java.util.List and java.util.Map with Jackson 无法将“config.map”下的属性绑定到 java.util.Map <java.lang.String, java.util.Map<java.lang.Integer, java.util.List<java.lang.Integer> &gt;&gt;: - Failed to bind properties under 'config.map' to java.util.Map<java.lang.String, java.util.Map<java.lang.Integer, java.util.List<java.lang.Integer>>>: 将 scala 嵌套列表转换为 java.util.List - Convert scala nested list to java.util.List 如何将scala.List转换为java.util.List? - How to convert a scala.List to a java.util.List? 在Java代码中从scala.collection.Seq <String>转换为java.util.List <String> - Convert from scala.collection.Seq<String> to java.util.List<String> in Java code 如何将scala.collection.immutable.List [scala.collection.mutable.MutableList [String]]转换为java.util.List [java.util.List [String]] - How to convert scala.collection.immutable.List[scala.collection.mutable.MutableList[String]] to java.util.List[java.util.List[String]] 将java.util.List <String>转换为java.sql.Array - Convert java.util.List<String> into java.sql.Array Marshal一个java.util.Map <String,String> - Marshal a java.util.Map<String,String>
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM