如何將java.util.Map [String,Object]轉換爲scala.collection.immutable.Map [字符串,任何],以便原始地圖(整數,布爾等)中的所有值都轉換爲正確的值,以便在Scala中很好地工作。將java.util.Map [String,Object]轉換爲scala.collection.immutable.Map [String,Any]
27
A
回答
32
作爲VonC說,scala.collections.JavaConversion
只支持可變集合,但你不必使用一個單獨的庫。可變集合從TraversableOnce
,其限定了toMap
方法,它返回一個不可變的地圖導出:
import scala.collection.JavaConversions._
val m = new java.util.HashMap[String, Object]()
m.put("Foo", java.lang.Boolean.TRUE)
m.put("Bar", java.lang.Integer.valueOf(1))
val m2: Map[String, Any] = m.toMap
println(m2)
這將輸出
Map(Foo -> true, Bar -> 1)
1
The JavaConversions
Scala2.8包只處理可變集合。
scalaj-collection圖書館可能在這裏幫助。
java.util.Map[A, B] #asScala: scala.collection.Map[A, B]
#asScalaMutable: scala.collection.mutable.Map[A, B]
#foreach(((A, B)) => Unit): Unit
+0
JavaConversions只是映射的對象本身,而不是它的值 – IttayD 2010-06-27 12:34:50
1
爲了轉換轉換java.util.Map [字符串,對象]至scala.collection.immutable.Map [String,Object],你需要在Scala項目中簡單的導入下面的語句和乾淨的構建。
import collection.JavaConversions._
請參閱下面的代碼:
var empMap= Map[String.Object]()
var emp= new Employee(empMap) // Employee is java POJO in which,passing scala map to overloaded constructor for setting default values.
相關問題
- 1. 將Map [String,Double]轉換爲java.util.Map [String,java.lang.Double]
- 2. 如何將Map [String,Any]轉換爲Json?
- 3. 將Object []從hashmap鍵集轉換爲String []?
- 4. 將IDictionary <string,object>轉換爲類
- 5. 如何轉換,分組和排序java.util.List [java.util.Map [String,Object]]?
- 6. vb.net無法將Dictionary(Of String,List(Of String))轉換爲Object
- 7. 如何將HashMap <String,Integer> param轉換爲Map <String,Object)
- 8. Marshal a java.util.Map <String,String>
- 9. java.util.Properties與java.util.Map <String,String>
- 10. Java8在Map <Object,String>中轉換[List <Object>,String]
- 11. 從Object []轉換爲String []給出ClassCastException
- 12. 'String'不能轉換爲'String?'
- 13. C++/CX:將std :: string轉換爲Platform :: String^
- 14. 將std :: __ cxx11 :: string轉換爲std :: string
- 15. 如何將System :: String ^轉換爲std :: string?
- 16. 如何將List(String,String)轉換爲ListMap [String,String]?
- 17. 如何將List [List [Map [String,String]]]轉換爲List [Map [String,String]]
- 18. 從String []轉換爲String並再次轉換爲String []
- 19. 轉換爲String []
- 20. 將NSString轉換爲std :: string
- 21. 將std :: string轉換爲QString
- 22. Java將ByteMessage轉換爲String?
- 23. Java將String []轉換爲int []
- 24. 將std :: string轉換爲QwtText
- 25. 將v8 :: String轉換爲LPCWSTR?
- 26. 將uint64_t轉換爲std :: string
- 27. 將void *轉換爲std :: string
- 28. 將std :: string轉換爲char
- 29. 將WCHAR *轉換爲UNICODE STRING
- 30. 將std :: string轉換爲basic_ostream?
添加標籤----- – pakore 2010-06-27 12:06:36
我不知道斯卡拉,但不能怎麼做,如果(objecdt的instanceof整數)...等等上?這不是最好的方法,但它應該工作......也許你可以包裝對象和使用訪問者模式... – pakore 2010-06-27 12:12:54