从Java调用Scala代码的“技巧性”?

sme*_*eeb 5 java scala scala-java-interop

我确实想在我的Java应用程序中使用一个Scala库(仅以Scala编写)。我正在尝试评估我是否可以做到这一点,而不会遭受任何隐藏的棘手动物/洞穴/陷阱的困扰。所以我直接去了Scala FAQ,他们回答了这个问题(嗯,有点):

从Scala代码访问Java类完全没有问题。使用Java中的Scala类可能会很棘手,特别是如果您的Scala类使用了泛型,多态方法或抽象类型等高级功能时,尤其如此。

然后,我发现了其他几个站点(例如this站点),这些站点似乎表明从Java内部调用Scala没问题,因为它都是已编译的JVM字节码。

因此,我有两个非常矛盾的信息源,我被困在中间,试图确定哪些用例使从Java调用Scala 变得棘手 ”,哪些用例是直接的。有任何想法吗?

小智 4

如果您调用的 scala 库使用“棘手”功能,我想您可以以某种方式包装它(在 scala 中),使得包装器不会向调用代码公开任何“棘手”功能。