编程语言
首页 > 编程语言> > scala学习笔记 - scala与java集合的互操作

scala学习笔记 - scala与java集合的互操作

作者:互联网

JavaConversions对象提供了用于在Scala和Java集合之间来回转换的一组方法。
给目标值显式地指定一个类型来触发转换 例如:

import scala col lec ti JavaConversions._
val props: scala.collection.mutable.Map[String, String] = System .getProperties()

如果你担心那些不需要的隐式转换也被引人的话,只引入需要的即可 例如:

import scala.collection.JavaConversions.propertiesAsScalaMap

注意这些转换产出的是包装器,让你可以使用目标接口来访问原本的值。举例来说,如果你用

val props: scala.collection.mutable.Map[String, String] = System.getProperties()

那么props就是一个包装器,其方法将调用底层的Java对象。如果你调用

props ("com.horstmann.scala")= "impatient"

那么包装器将调用底层Properties对象的put("com.horstmann.scala", "impatient")
从Scala集合到Java集合的转换:

隐式函数从scala.collection的类型到java.util的类型
asJavaCollectionIterableCollection
asJavaIterableIterableIterable
asJavaIteratorIteratorIterator
asJavaEnumerationIteratorEnumeration
seqAsJavaListSeqList
mutableSeqAsJavaListmutable.SeqList
bufferAsJavaListmutable.BufferList
setAsJavaSetSetSet
mutableSetAsJavaSetmutable.SetSet
mapAsJavaMapMapMap
mutableMapAsJavaMapmutable.MapMap
asJavaDictionaryMapDictionary
asJavaConcurrentMapmutable.ConcurrentMapconcurrent.ConcurrentMap

从Java集合到Scala集合的转换:

隐式函数从java.util的类型到scala.collection的类型
collectionAsScalaIterableCollectionIterable
iterableAsScalaIterableIterableIterable
asScalaIteratorIteratorIterator
enumerationAsScalaIteratorEnumerationIterator
asScalaBufferListmutable.Buffer
asScalaSetSetmutable.Set
mapAsScalaMapMapmutable.Map
dictionaryAsScalaMapDictionarymutable.Map
propertiesAsScalaMapPropertiesmutable.Map
asScalaConcurrentMapconcurrent.ConcurrentMapmutable.ConcurrentMap

标签:Java,String,scala,collection,互操作,props,集合,java
来源: https://blog.csdn.net/LW_GHY/article/details/117219867