eclipseの設定で、インストール済みのJREとコンパイラの違いについて教えて
いただけないでしょうか。
自分で調べてみた限りでは、、、
インストール済みのJREは、Javaプログラムの実行、デバッグに使用される。
コンパイラは、Javaプログラムのコンパイルに使用される。コンパイラ自体はeclipse
内部のものを使用しており、コンパイラ準拠レベルを指定することにより、指定した
Javaのバージョンでコンパイルを行うことが可能。
上記の仕様だと、例えばインストール済みのJREのバージョンを1.6、コンパイラ準拠レベル
に1.4を指定したとします。こうした場合、
String s = "hoge";
if(s.isEmpty()) {
・・・・
というコードはコンパイルエラーになるはずです。(String#isEmpty()は1.6から導入)
コンパイルエラー⇒クラスができない⇒実行できない、という流れを想定していたの
ですが、実際は、エディタ上でエラーになっておらず、コンパイルもでき、実行もできました。
インストール済みのJRE、コンパイラともに1.4を指定すると、エディタ上でエラーに
なっていたし、コンパイルも行われていませんでした。
コンパイラ準拠レベルとはいったい???という状態です。
どこかに詳しく説明されているサイトなども教えて頂けるとうれしいです。
宜しくお願いします。
OS:Windows7 HomePremium
eclipse:eclipse-jee-indigo-SR1-win32-x86_64.zip
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/eclip …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP eclipse pleiades phpのインストールについて 1 2023/02/03 17:15
- C言語・C++・C# 変数のスコープ 5 2023/05/27 17:50
- UNIX・Linux ubuntuのサーバー(virtual box)が、再起動するとデータが消えてしまいます。 4 2022/04/27 21:29
- C言語・C++・C# ExcelCS 1 2023/01/27 19:47
- Microsoft ASP Windows10エンタープライズ版をインストールしたらアプリが使えなくなった 3 2023/03/07 11:08
- Visual Basic(VBA) excel vbaでselenium basic 3 2022/10/02 12:35
- FX・外国為替取引 MQL5にて謎のエラーが発生!だれか対処を教えてください! 1 2023/03/25 15:59
- ポイントサービス・マイル JREカードを持っていますが解約した場合 1 2022/05/13 22:16
- ビデオカード・サウンドカード Media EncoderやStreamlabsDesktopのハードウェアエンコードについて 2 2023/03/25 12:16
- PostgreSQL PostgreSQL14.6のSSL対応について 1 2023/01/05 15:42
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Eclipse3.5EEでJavaのコンパイ...
-
コンパイルエラーに出てくる、i...
-
.jarファイルの中身って書き換...
-
java:一括コンパイル後、実行...
-
コンパイルができないのですが...
-
IIS環境でJAVAを使用したい
-
サクラエディタでjavaのプログ...
-
Javaのコンパイル結果が表示さ...
-
java サーブレットのサンプルプ...
-
eclipseについて
-
javaが文字コードの影響でコン...
-
importしたパッケージが見つか...
-
文字化けについての質問
-
MinGWでインストールしたGCJに...
-
LaTeXでのアンダーバーの入力
-
javax.servlet は存在しません...
-
逆コンパイルの見方について
-
classファイルを元に戻す
-
java.lang.ClassNotFoundException
-
emacsでjavaをコンパイルする方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
.jarファイルの中身って書き換...
-
IIS環境でJAVAを使用したい
-
Eclipse3.5EEでJavaのコンパイ...
-
コンパイルエラーに出てくる、i...
-
javaが文字コードの影響でコン...
-
javax.servlet は存在しません...
-
「識別子がクラス名でも名前空...
-
サクラエディタでjavaのプログ...
-
TOMCAT_HOMEって?
-
Javaのコンパイル結果が表示さ...
-
eclipseの構文エラーについて
-
javaの簡単なソースがコンパイ...
-
java.lang.ClassNotFoundException
-
Jakarta POI のHSSFでのフッタ...
-
逆コンパイルの見方について
-
日本語対応 逆コンパイラについて
-
C言語について。
-
dokojavaのコンパイルについて
-
jasperとは
-
importしたパッケージが見つか...
おすすめ情報