@deprecated(“改用 `scala.jdk.CollectionConverters`”,"2.13.0")
用法:
object JavaConverters extends AsJavaConverters with AsScalaConverters
各种装饰器,可以使用扩展方法在 Scala 和 Java 集合之间进行转换,asScala
和 asJava
.
扩展方法返回相应 API 的适配器。
通过 asScala
和 asJava
支持以下转换:
scala.collection.Iterable <=> java.lang.Iterable
scala.collection.Iterator <=> java.util.Iterator
scala.collection.mutable.Buffer <=> java.util.List
scala.collection.mutable.Set <=> java.util.Set
scala.collection.mutable.Map <=> java.util.Map
scala.collection.concurrent.Map <=> java.util.concurrent.ConcurrentMap
通过asScala
和specially-named 扩展方法支持以下转换以转换为Java 集合,如图所示:
scala.collection.Iterable <=> java.util.Collection (via asJavaCollection)
scala.collection.Iterator <=> java.util.Enumeration (via asJavaEnumeration)
scala.collection.mutable.Map <=> java.util.Dictionary (via asJavaDictionary)
此外,通过 asJava
提供以下 one-way 转换:
scala.collection.Seq => java.util.List
scala.collection.mutable.Seq => java.util.List
scala.collection.Set => java.util.Set
scala.collection.Map => java.util.Map
通过 asScala
提供以下单向转换:
java.util.Properties => scala.collection.mutable.Map
在所有情况下,从源类型转换为目标类型并再次转换将返回原始源对象。例如:
import scala.collection.JavaConverters._
val source = new scala.collection.mutable.ListBuffer[Int]
val target: java.util.List[Int] = source.asJava
val other: scala.collection.mutable.Buffer[Int] = target.asScala
assert(source eq other)
或者,转换方法具有说明性名称并且可以显式调用。
scala> val vs = java.util.Arrays.asList("hi", "bye")
vs: java.util.List[String] = [hi, bye]
scala> val ss = asScalaIterator(vs.iterator)
ss: Iterator[String] = <iterator>
scala> .toList
res0: List[String] = List(hi, bye)
scala> val ss = asScalaBuffer(vs)
ss: scala.collection.mutable.Buffer[String] = Buffer(hi, bye)
已弃用
源码:
- JavaConverters.scala
相关用法
- Scala collection.Iterator用法及代码示例
- Scala collection.IterableOnce用法及代码示例
- Scala control.Breaks用法及代码示例
- Scala compiletime.summonFrom用法及代码示例
- Scala control.Exception用法及代码示例
- Scala compiletime.error用法及代码示例
- Scala compiletime.erasedValue用法及代码示例
- Scala compiletime.codeOf用法及代码示例
- Scala compiletime.uninitialized用法及代码示例
- Scala control.NonFatal用法及代码示例
- Scala convert.ImplicitConversions用法及代码示例
- Scala concurrent.Future用法及代码示例
- Scala control.ControlThrowable用法及代码示例
- Scala concurrent.BlockContext用法及代码示例
- Scala control.TailCalls用法及代码示例
- Scala compiletime.requireConst用法及代码示例
- Scala Tabulate.sliding用法及代码示例
- Scala ArrayBuffer.inits用法及代码示例
- Scala long.BitwiseOr用法及代码示例
- Scala StringBuilder.partitionMap用法及代码示例
- Scala List distinct()用法及代码示例
- Scala DefaultMap.sizeIs用法及代码示例
- Scala StrictOptimizedIterableOps.sliding用法及代码示例
- Scala Searching.SearchResult用法及代码示例
- Scala ::.collectFirst用法及代码示例
注:本文由纯净天空筛选整理自scala-lang.org大神的英文原创作品 collection.JavaConverters。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。