44

(はい、ScalaからJavaコードを呼び出すことができることは知っていますが、それは無意味です。Javaコードを削除したいので、そのままにしておくのではなく、それを見て永久に維持する必要があります!)

JavaソースをScalaソースに変換するためのユーティリティはありますか?

理論的には、最小限の損失で達成できるはずだと思います。

私はこれを見つけましたが、おそらくバグがあり/不完全なようです... http://sourceforge.net/projects/java2scala/

代替案はありますか?

4

6 に答える 6

39

IntelliJちょっと、ちょっと、これをします。Javaソースを使用してプロジェクトを開く必要があります。次に、式、メソッド、またはクラス全体を.scalaファイルにコピーして貼り付けることができます。これは同等のScalaコードに変換されます。

変換の忠実度は完全ではありません。このため、一括変換はまだサポートされていません。

最新バージョンのIntelliJScalaプラグインを使用することをお勧めします。CommunityEditionは無料です。

これとは別に、Paul PhillipsはかつてScalifyプロジェクトを開始して、コードをJavaからScala(または潜在的にはお気に入りの言語)に翻訳し、その過程でさらに改善しました!彼はこのビデオでコンセプトを説明しています。しかし、おそらく彼がScalaコンパイラーと標準ライブラリーに直接貢献することに注意を向けたために、この努力は行き詰まりました。

于 2010-03-20T18:11:12.957 に答える
27

IntelliJ IDEAには、「ConverttoScala」と呼ばれるリファクタリングがあります。これは、(Scalaプラグインをインストールした後の)リファクタリングメニューの下にあります。Ctrl+ Shift+G。したがって、コピー/貼り付けで遊ぶ必要はありません。

Javaファイルが開いていることを確認してください。scalaまたはその他のファイルの場合、このオプションはありません。

于 2011-03-30T16:31:47.810 に答える
16

次のツールを公開しました:Scalagen。Jatranも試しましたが、いくつかのバグと難しい統合に不満を感じていました。Scalagenは拡張可能であり、Mavenプラグインが付属しています。

于 2012-01-06T14:56:45.443 に答える
9

Scalagenライブラリを使用するオンラインJavaからScalaへのコンバーターを使用できます。

于 2013-09-27T15:31:24.947 に答える
6

http://code.google.com/p/jatran/

(私はこれを使用していません)


これに気づいた、2012年3月:http://blog.mysema.com/2012/03/scalagen-java-to-scala-conversion.html

于 2010-10-04T05:17:39.223 に答える
2

一般的なケースでは、JavaをScalaに自動的に変換することはできないと思います。Javaの下位レベルの構造の多くはScalaには存在しません(フィールドや静的メンバーなど)。ScalaはJavaに存在しないコンストラクターに制限を課し、ScalaにはJavaのような生の型がありません(指定された汎用パラメーター)。

于 2010-03-20T18:39:55.933 に答える