【发布时间】:2015-07-08 22:15:34
【问题描述】:
假设您有一个 Scala 库,需要由您的 Java 程序使用,但不仅是在将来。
谈到收藏和您在 Scala 中可能拥有的所有好东西。您宁愿在您的类中创建一些特定于 Java 的方法,还是在某种程度上符合单一职责原则,您将创建一堆静态对象,提供使用显式转换在 Scala 版本中转换对象的方法,asJava。
如果有一种方法可以从 Java 中转换 asJava 会更容易,但我不知道是否可以在 Java 中使用该显式转换包。我怀疑,因为我觉得它使用类型类来增强功能。
Java 有什么可以提供帮助的吗?这里的最佳做法是什么?
【问题讨论】:
-
这不会是微不足道的。但如果我要开始研究这样的库,我会看看像 Akka 和 Kafka 这样的主要库是如何做到的。在高层次上,它们往往有一个单独的
javadsl和scaladsl包,这样您不仅可以使用这些库,而且 API 也适用于每种语言,发挥每种语言的优势。