[英]Workaround for notserializable exception when converting Scala map to Java Map
As described in this Github issue , Scala Maps that are wrapped as Java Maps are not serializable because scala.collection.convert.Wrappers$MapWrapper
is not serializable.
此問題已在 Scala 2.12 中修復,但由於各種原因我必須使用 2.11。 那么將 Scala Map 轉換為 Java Z46F3EA056CAA3126B91F3F3F0C 沒有序列化錯誤的好解決方法是什么? 我別無選擇,只能從此 function 返回 java map。
我的代碼如下所示:
import scala.collection.JavaConverters.mapAsJavaMapConverter
def doSomethingCool(): util.Map[String, String] = {
// ... Cool processing here ...
// Return results as a Java Map
myScalaMap.asJava
}
我覺得應該有一個簡單的方法來解決這個問題,但我一直無法弄清楚......
可以使用java.util.HashMap
的復制構造函數復制包裝的 map 。
import scala.collection.JavaConverters.mapAsJavaMapConverter
def doSomethingCool(): util.Map[String, String] = {
// ... Cool processing here ...
// Return results as a Java Map
new java.util.HashMap[String, String](myScalaMap.asJava)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.