20

Scala で作成したアプリがあり、チーム メンバーの何人かがその Java バージョンを必要としています。Scala で書かれた別の API を使用するデモ アプリであり、Java から API を使用できる Java バージョンのアプリが必要です。ただし、アプリはやや大きく、Java で手動で書き直したくありません (また、Scala を学習したくありません)。Scala コードから (読み取り可能な) Java コードを自動的に生成するツールはありますか?

4

5 に答える 5

11

アプリの Java バージョンで Java から API を使用できるようにしたい

Scala クラスは Java から使用できます (最終的にはすべて JVM バイトコードであるため)。彼らが使用できるように、クラスと一緒に jar をパッケージ化できますか?

于 2012-03-26T22:29:55.610 に答える
9

Scala はかなり低レベルのバイトコード操作を行うため、scala から標準の Java に変換することはできないと思います。私は、彼らが通常の Java コードに正確に変換できないことを行っていることを 90% 確信しています。

于 2012-03-26T22:33:45.867 に答える
6

いいえ、そのようなツールはありません。
Scala はある意味で Java のコフェスクリプトです。coffescript のファンキーなクラスがすべて JavaScript に変換される様子を見てください。同じ*がscalaの場合です。
Java に変換できない機能がたくさんあるとは思いませんが、ほとんどの機能は、人間がその作業を行ったとしても、非常に雑然としたコードに変換されます。

しかし、java から scala へのトランスレータがあります。

*クラスについて文字通り言っていない

于 2012-03-26T22:35:47.177 に答える
4

.class ファイルを逆コンパイルして Java ソース ファイルにする必要があります。scala がさらに多くの .class ファイルを生成することに注意してください。

SDKまたはjad逆コンパイラに含まれるoracleのjavapを使用できます

詳細な説明については、次の記事を参照してください。

scala クラスを Java ソースにリンクする

于 2014-07-15T23:02:01.257 に答える
3

これが機能するかどうかはわかりませんが、Java 逆コンパイラを介してクラス ファイルを実行できます。

それがまったく機能する場合、結果は地獄のように醜いものになるはずです。

于 2012-03-27T06:37:12.417 に答える