इस पर .toMap
पर कॉल करने के बारे में कैसे?
import collection.JavaConversions._
val x = java.util.Collections.unmodifiableMap[Int,Int](new java.util.HashMap[Int,Int]())
val y: Map[Int,Int] = x.toMap //y: Map[Int,Int] = Map()
toMap
बुला के बिना, JavaConversions
केवल मदद से आप परोक्ष एक परिवर्तनशील स्काला नक्शा में बदलने का:
scala> val z: collection.mutable.Map[Int,Int] = x
z: scala.collection.mutable.Map[Int,Int] = Map()
मुमकिन है इस वजह से एक जावा Map
परिवर्तनशील है, तो यह केवल स्काला में प्रतिनिधित्व होना चाहिए mutable.Map
के रूप में जब तक आप इसे स्पष्ट रूप से immutable.Map
में परिवर्तित नहीं करते हैं।
ध्यान दें कि जब तुम सिर्फ स्काला में Map
कहते हैं, क्या तुम सच में के बारे में collection.immutable.Map
Predef
के बाद उपनाम बात कर रहे हैं Map
कि जिस तरह से:
scala> Map()
res0: scala.collection.immutable.Map[Nothing,Nothing] = Map()
तो जब आप कहते हैं कि request.getParameterMap.asInstanceOf[Map[String, Array[String]]]
, तुम सच में स्काला पूछ रहे हैं परोक्ष एक जावा कन्वर्ट करने के लिए Map
स्कैला के collection.immutable.Map
में, जो जावा के Map
के बाद से ऐसा नहीं करना चाहता है।