Spec-Zone.ru › Scala 2.13 Library

Пакет scala.jdk.javaapi

пакет javaapi

Члены-значения

объектCollectionConverters extends AsJavaConverters with AsScalaConverters

Этот объект содержит методы, преобразующие между коллекциями Scala и Java.

Явные методы преобразования, определенные здесь, предназначены для использования в Java-коде. Для Scala-кода рекомендуется использовать расширяющие методы, определенные в scala.jdk.CollectionConverters.

Примечание: для создания Java Streams, которые работают с коллекциями Scala (последовательно или параллельно), используйте 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, т.е. коллекции оборачиваются, а не преобразуются. Изменения в исходной коллекции отражаются в представлении, и наоборот.

Следующие преобразования поддерживаются через 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 и через специально названные методы для преобразования в 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:

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

Во всех случаях преобразование из исходного типа в целевой тип и обратно вернет исходный объект.

объектDurationConverters

Этот объект содержит методы, преобразующие между типами продолжительности Scala и Java.

Явные методы преобразования, определенные здесь, предназначены для использования в Java-коде. Для Scala-кода рекомендуется использовать расширяющие методы, определенные в scala.jdk.DurationConverters.

объектFunctionConverters

Этот объект содержит методы, преобразующие между типами функций Scala и Java.

Явные методы преобразования, определенные здесь, предназначены для использования в Java-коде. Для Scala-кода рекомендуется использовать расширяющие методы, определенные в scala.jdk.FunctionConverters.

Подробнее о работе преобразователей функций см. в scala.jdk.FunctionConverters.

объектFutureConverters

Этот объект содержит методы, преобразующие между Scala Future и Java CompletionStage.

Явные методы преобразования, определенные здесь, предназначены для использования в Java-коде. Для Scala-кода рекомендуется использовать расширяющие методы, определенные в scala.jdk.FutureConverters.

Обратите внимание, что мост реализован на стороне только для чтения асинхронных обработчиков, а именно Future (вместо scala.concurrent.Promise) и CompletionStage (вместо java.util.concurrent.CompletableFuture). Это сделано намеренно, так как семантика моста для обработчиков записи может быть подвержена проблемам гонок; если оба конца (CompletableFuture и Promise) завершены независимо в одно и то же время, они могут содержать разные значения впоследствии. По этой причине toCompletableFuture не поддерживается на созданных CompletionStage.

объектOptionConverters

Этот объект содержит методы, преобразующие между Scala Option и Java Optional типами.

Явные методы преобразования, определенные здесь, предназначены для использования в Java-коде. Для Scala-кода рекомендуется использовать расширяющие методы, определенные в scala.jdk.OptionConverters.

объектStreamConverters

Этот объект содержит методы для создания Java Streams, которые работают с коллекциями Scala (последовательно или параллельно). Для получения дополнительной информации о Java streams обратитесь к документации (https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html).

Явные методы преобразования, определенные здесь, предназначены для использования в Java-коде. Для Scala-кода рекомендуется использовать расширяющие методы, определенные в scala.jdk.StreamConverters.

Примечание: для преобразования между коллекциями Scala и классическими Java-коллекциями используйте CollectionConverters.

Подробнее о том, как работают преобразователи потоков, см. в scala.jdk.StreamConverters.

© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.13.0/scala/jdk/javaapi/index.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API