从 Groovy 调用 Scala:如何处理不同的集合类型?

发布于 2024-10-04 18:09:09 字数 609 浏览 1 评论 0原文

我使用Groovy 进行测试,使用Scala 进行实际代码。显然,我经常使用 Scala 的集合类型 - 但是当我在 Groovy 中生成测试数据时,我经常使用 java.util.* 类型。

我开始基于 scalaj-collection 库编写静态转换方法。但这并不“时髦”。

将一种方式转换为另一种方式的最佳方法是什么? 隐式转换可能会以某种方式起作用吗?

更新:

例如,如果我不会手动转换我当然得到的类型:

groovy.lang.MissingMethodException: 
No signature of method: static setup is applicable for argument types: (java.util.ArrayList)
    Possible solutions: setup(scala.collection.immutable.List)

I'm using Groovy for testing and Scala for actual code. Obviously I often use Scala's collection types - but when I generate test data in Groovy I often use the java.util.*-types.

I started writing static conversion methods based on the scalaj-collection library. But that's just not 'groovy'.

What's the best approach to convert one to the other?
Might implicit conversions work somehow?

UPDATE:

For example if I wouldn't manually convert the types I of course get:

groovy.lang.MissingMethodException: 
No signature of method: static setup is applicable for argument types: (java.util.ArrayList)
    Possible solutions: setup(scala.collection.immutable.List)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夜声 2024-10-11 18:09:09

您是否尝试过“内置”隐式转换?

import scala.collection.JavaConversions._

Did you try the "built-in" implicit conversions?

import scala.collection.JavaConversions._
各自安好 2024-10-11 18:09:09

另一种方法是更改​​ Scala 代码以在声明参数时使用 Java 集合类型,并依赖方法主体中的隐式转换来获得 Scala 集合操作的优势。

Another approach is to change your Scala code to use Java collection types when declaring parameters and rely on implicit conversions in the method body to get the benefit of Scala collections operations.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文