当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Scala javaapi.CollectionConverters用法及代码示例


用法:

object CollectionConverters extends AsJavaConverters with AsScalaConverters

此对象包含在 Scala 和 Java 集合之间转换的方法。

此处定义的显式转换方法旨在用于 Java 代码。对于 Scala 代码,建议使用 scala.jdk.CollectionConverters 中定义的扩展方法。

注意:要创建对 Scala 集合(顺序或并行)进行操作的 Java Streams,请使用 StreamConverters

// Java Code
import scala.jdk.javaapi.CollectionConverters;
public class A {
  public void t(scala.collection.immutable.List<String> l) {
    java.util.List<String> jl = CollectionConverters.asJava(l);
  }
}

转换返回相应 API 的适配器,即,集合被包装,而不是转换。对原始集合的更改会反映在视图中,反之亦然。

通过 asScalaasJava 支持以下转换:

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

在所有情况下,从源类型转换为目标类型并再次转换将返回原始源对象。

源码:

CollectionConverters.scala

相关用法


注:本文由纯净天空筛选整理自scala-lang.org大神的英文原创作品 javaapi.CollectionConverters。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。