如何将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