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

2021/5/24 14:24:39

本文主要是介绍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


这篇关于scala学习笔记 - scala与java集合的互操作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程