【发布时间】:2013-03-25 13:36:27
【问题描述】:
当与 java 中的 scala 库或 scala 中的 java 库交互时,是否存在某些类型或集合不能有效映射,以至于您必须执行“昂贵”的操作来执行转换?
例如出于记忆的考虑,您可能需要保存 2 个集合的副本?
【问题讨论】:
标签: java scala jvm scala-collections scala-java-interop
当与 java 中的 scala 库或 scala 中的 java 库交互时,是否存在某些类型或集合不能有效映射,以至于您必须执行“昂贵”的操作来执行转换?
例如出于记忆的考虑,您可能需要保存 2 个集合的副本?
【问题讨论】:
标签: java scala jvm scala-collections scala-java-interop
嗯,这取决于您希望如何处理它 - 如果您使用 Scala 中的 Java 类的 API 或其他方式,则没有运行时开销,但您将支付便利成本。
当您使用 JavaConversions 通过 Scala API 或其他方式访问 Java 集合时,您需要为转换支付少量成本(创建 Wrapper 对象),但永远不会复制底层集合。
您可以检查所有这些here 的代码,就像通常的 Scala 标准库一样,它都非常易读且易于理解。
【讨论】: