• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:eclipseの設定のJREとコンパイラの違い)

eclipseの設定のJREとコンパイラの違い

このQ&Aのポイント
  • インストール済みのJREは、Javaプログラムの実行、デバッグに使用される。コンパイラは、Javaプログラムのコンパイルに使用される。
  • コンパイラ準拠レベルを指定することにより、指定したJavaのバージョンでコンパイルを行うことが可能。コンパイラ準拠レベルとはいったい???
  • インストール済みのJREのバージョンとコンパイラ準拠レベルの指定によって、コードの実行可否やエラーチェックの結果が異なることがある。

質問者が選んだベストアンサー

  • ベストアンサー
  • root139
  • ベストアンサー率60% (488/809)
回答No.1

> インストール済みのJREとコンパイラの違い これは質問者さんの理解でおおむね良いと思います。 コンパイラ準拠レベルが1.4なのに String.isEmpty() が通った理由ですが、参照した標準ライブラリが1.6のものだったから、ということになります。 コンパイラ準拠レベルは言語の準拠バージョンを指定します。文法と言い換えても良いでしょう。ですから String に含まれるメソッドの有無には影響を与えません。それらは参照しているライブラリ、つまり指定したJREに依存します。 コンパイラ準拠レベルを1.4にした場合は、foreach構文やジェネリクス、enum型などは使えないことが確認できます。これらは1.5以降の文法ですからエラーになります。 http://www.ne.jp/asahi/hishidama/home/tech/eclipse/java.html#%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9%E3%83%BC%E6%BA%96%E6%8B%A0%E3%83%AC%E3%83%99%E3%83%AB

kamakuragengorou
質問者

お礼

確認しました。確かに拡張for文やジェネリクスはエディタ上でエラーになりますね。 ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A