自动化 Java 到 Scala 源代码转换? [已关闭]

问题描述 投票:0回答:6

(是的,我知道我可以从 Scala 调用 Java 代码;但这毫无意义;我想删除 Java 代码,而不是保留它,并且必须查看它并永远维护它!)

是否有任何实用程序可以将 Java 源代码转换为 Scala 源代码?

我相信理论上应该可以以最小的损失完成。

我发现了这个,但它似乎不活跃,可能有错误/不完整...... http://sourceforge.net/projects/java2scala/

还有其他选择吗?

编辑:这是一个关于“程序员常用的软件工具”的问题,符合网站当前的规则,所以我正在编辑以重新打开。

java scala code-conversion
6个回答
39
投票

IntelliJ 有点,有点,就是这样做的。您需要使用 Java 源代码打开一个项目。然后,您可以将表达式、方法或整个类复制/粘贴到 .scala 文件中。这将转换为等效的 Scala 代码。

转换的保真度并不完美,因此,它还不支持批量转换。

我建议使用最新版本的 IntelliJScala Plugin。社区版是免费的。

除此之外,Paul Phillips 曾经启动了 Scalify 项目,将代码从 Java 翻译为 Scala(或者可能是你最喜欢的语言),甚至在这个过程中改进它!他在此视频中解释了这个概念。然而,这项工作陷入停滞,大概是因为他将注意力转向了直接为 Scala 编译器和标准库做出贡献。


28
投票

在 IntelliJ IDEA 中,有一个称为“转换为 Scala”的重构。它位于 Refactor 菜单下(安装 Scala 插件后)Ctrl+Shift+G。 所以你不需要玩复制/粘贴。

只要确保你打开了一个java文件,如果是scala或其他文件则没有此选项。


16
投票

我刚刚发布了以下工具:Scalagen。我也尝试过 Jatran,但对一些错误和难以集成感到沮丧。 Scalagen 是可扩展的,并带有 Maven 插件。


9
投票

您可以使用在线 Java 到 Scala 转换器,它使用 Scalagen 库。


6
投票

2
投票

我认为在一般情况下不可能自动将 Java 转换为 Scala。 Java 中的许多低级构造在 Scala 中不存在(例如字段和静态成员),Scala 对 Java 中不存在的构造函数施加了限制,并且 Scala 没有像 Java 那样的原始类型(没有泛型的泛型)。指定通用参数)。

© www.soinside.com 2019 - 2024. All rights reserved.