3

Java 7 構文を使用して 1.5 で動作するバイトコードを生成する方法はありますか? 私が知る限り、 options-target-sourceは違いはありません。新しい API が使用されていないかどうかを確認するのもよいでしょうが、重要ではありません

4

4 に答える 4

2

いいえそうではありません。私の知る限り、-source動作は異なり-targetますが、ソースがターゲットよりも低いか等しい場合に限ります (下位互換性を提供するため)。Java 7 コードを古いバージョンに変換するソース コンバーターが存在する場合があります。

于 2012-10-01T14:46:11.440 に答える
1

Retroweaverと呼ばれるプロジェクトがあります。これを使用すると、Java 5構文(ジェネリックなどを含む)を記述して、Java1.4以前で実行されるコードに変換できます。

私の知る限り、Java7構文のコードを古いバージョンで機能させるようなものはありません。

于 2012-10-01T14:47:47.997 に答える
0

いいえ、Java7 構文を使用する場合、そのコードを Java 5 でコンパイルすることはできません。

-source構文が -target バージョンと-target互換性がある場合にのみ機能します。

于 2012-10-01T14:46:22.710 に答える
0

いいえ、できません。たとえば、新しい try-with-resources コンストラクトを検討してください。これにより、抑制されたスロー可能オブジェクトが設定される可能性がありますが、この API は Java SE 7 以降でのみ使用できます。

http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html#getSuppressed%28%29

これは、古い Java バージョンではそのコードを実行できないことを意味します。

于 2012-10-01T14:54:40.793 に答える