當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。