java - 如何在 Java 中执行 Scala 的 Seq++ 操作数
问题描述
我正在使用 Java ( scala.collection.Seq<A>
) 中的 Scala 的 Seq 类,根据Scala 文档,有一个++
操作数将两个 Seq 合并为一个。我怎样才能在 Java 中做同样的事情?
解决方案
Scala 标识符在 JVM 上++
被翻译。$plus$plus
不幸的是,你不能打电话seq1.$plus$plus(seq2)
,因为真正的签名++
是
def ++[B >: A, That](that: GenTraversableOnce[B])(implicit bf: CanBuildFrom[Repr, B, That]): That
并提供CanBuildFrom
来自 Java 的论点......在技术上是可行的,但不是你想做的事情。
JavaConverters
因此,我建议在涉及时使用方法将 Scala 集合转换为 Java ,然后再在 Java 中使用它们CanBuildFrom
。
推荐阅读
- mongodb - Mongo shell 不在正在运行的数据库上创建索引
- flask - sqlalchemy.exc.InvalidRequestError:对象'
' 已附加到会话 '2'(这是 '3') - excel - 执行任何操作时启用宏的文件停止工作并崩溃
- comments - 如何在具有 C 类型语法的工作代码中嵌入 markdown 文档以进行注释?
- java - CDI - @Injected 字段为空
- php - Laravel 5.8 刷新数据库不丢失表中的数据已经存在
- java - 如何从 Java 中的 CSV 文件中获取最大值和最小值
- reactjs - 在重新选择的函数体内使用组件道具?
- svg - 散景:保存的 svg 与 jupyter notebook 中显示的不同
- laravel - Laravel 模型属于关系加载问题