Java 7 構文を使用して 1.5 で動作するバイトコードを生成する方法はありますか? 私が知る限り、 options-target
と-source
は違いはありません。新しい API が使用されていないかどうかを確認するのもよいでしょうが、重要ではありません
4 に答える
いいえそうではありません。私の知る限り、-source
動作は異なり-target
ますが、ソースがターゲットよりも低いか等しい場合に限ります (下位互換性を提供するため)。Java 7 コードを古いバージョンに変換するソース コンバーターが存在する場合があります。
Retroweaverと呼ばれるプロジェクトがあります。これを使用すると、Java 5構文(ジェネリックなどを含む)を記述して、Java1.4以前で実行されるコードに変換できます。
私の知る限り、Java7構文のコードを古いバージョンで機能させるようなものはありません。
いいえ、Java7 構文を使用する場合、そのコードを Java 5 でコンパイルすることはできません。
-source
構文が -target バージョンと-target
互換性がある場合にのみ機能します。
いいえ、できません。たとえば、新しい try-with-resources コンストラクトを検討してください。これにより、抑制されたスロー可能オブジェクトが設定される可能性がありますが、この API は Java SE 7 以降でのみ使用できます。
http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html#getSuppressed%28%29
これは、古い Java バージョンではそのコードを実行できないことを意味します。