(是的,我知道我可以从 Scala 调用 Java 代码;但这毫无意义;我想删除 Java 代码,而不是保留它,并且必须查看它并永远维护它!)
是否有任何实用程序可以将 Java 源代码转换为 Scala 源代码?
我相信理论上应该可以以最小的损失完成。
我发现了这个,但它似乎不活跃,可能有错误/不完整...... http://sourceforge.net/projects/java2scala/
还有其他选择吗?
编辑:这是一个关于“程序员常用的软件工具”的问题,符合网站当前的规则,所以我正在编辑以重新打开。
IntelliJ 有点,有点,就是这样做的。您需要使用 Java 源代码打开一个项目。然后,您可以将表达式、方法或整个类复制/粘贴到 .scala 文件中。这将转换为等效的 Scala 代码。
转换的保真度并不完美,因此,它还不支持批量转换。
我建议使用最新版本的 IntelliJ 和 Scala Plugin。社区版是免费的。
除此之外,Paul Phillips 曾经启动了 Scalify 项目,将代码从 Java 翻译为 Scala(或者可能是你最喜欢的语言),甚至在这个过程中改进它!他在此视频中解释了这个概念。然而,这项工作陷入停滞,大概是因为他将注意力转向了直接为 Scala 编译器和标准库做出贡献。
在 IntelliJ IDEA 中,有一个称为“转换为 Scala”的重构。它位于 Refactor 菜单下(安装 Scala 插件后)Ctrl+Shift+G。 所以你不需要玩复制/粘贴。
只要确保你打开了一个java文件,如果是scala或其他文件则没有此选项。
我刚刚发布了以下工具:Scalagen。我也尝试过 Jatran,但对一些错误和难以集成感到沮丧。 Scalagen 是可扩展的,并带有 Maven 插件。
您可以使用在线 Java 到 Scala 转换器,它使用 Scalagen 库。
http://code.google.com/p/jatran/
(我没用过这个)
注意到这一点,2012 年 3 月:http://blog.mysema.com/2012/03/scalagen-java-to-scala-conversion.html
我认为在一般情况下不可能自动将 Java 转换为 Scala。 Java 中的许多低级构造在 Scala 中不存在(例如字段和静态成员),Scala 对 Java 中不存在的构造函数施加了限制,并且 Scala 没有像 Java 那样的原始类型(没有泛型的泛型)。指定通用参数)。