Eclipse 3.1 には、J2SE 5.0 (コード名 "Tiger") の新規フィーチャーに対するフル・サポートが組み込まれています。 このサポートの最も重要な結果の 1 つは、ユーザーに全く意識させないこと、つまり、編集、コンパイル、デバッグ、 クイック・フィックス、リファクタリング、ソース・アクション、検索など、J2SE 1.4 に期待する作業すべてが J2SE 5.0 の新しい型および構文を使用してシームレスに行われます。この文書では、Eclipse のユーザーが J2SE 5.0 を使用して作業を行う際に発見するであろう、興味深い機能の一部を紹介します。
J2SE 5.0 に対応したコードを作成するためには、J2SE 5.0 Java ランタイム環境 (JRE) が必要です。 一度 J2SE 5.0 JRE を使用して Eclipse を始動すると、その後はデフォルトで使用されるようになります。 そうでない場合は、「インストール済み JRE (Installed JRE's)」ダイアログ (「Windows」>「設定」>「Java」>「イン ストール済み JRE (Installed JRE's)」) を使用して、Eclipse に登録する必要があります。
この文書では、J2SE 5.0 の新規言語フィーチャーの一部を非常に簡単に紹介しますが、これらのフィーチャーに対するきちんとしたチュートリアルではありません。
新しい J2SE 5.0 のフィーチャーを使用するには、5.0 の準拠レベルが使用可能に設定されたプロジェクトで作業を行う必要があります。 新規プロジェクトには、「新規」>「プロジェクト」ウィザードの最初のページで、簡単に 5.0 準拠のマークをつけることができます。
コントロールをさらに微調整するには、コンパイラー準拠レベルをワークスペースに対してグローバルに設定する (「Windows」>「設定」>「Java」>「コンパイラー」) か、それぞれのプロジェクトごとに個別に設定 (プロジェクトのコンテキスト・メニューから、「プロパティー」>「Java コンパイラー」) します。 準拠レベルの異なるプロジェクトがワークスペース内に共存でき、相互に依存することができます。 また、「プロパティー」>「Java コンパイラー」>「エラー/警告 (Errors/Warnings)」>「J2SE 5.0 オプション (J2SE 5.0 Options)」を使用して、それぞれのプロジェクトごとに作成されるコンパイラー警告およびエラーの種類を微調整することもできます。
総称型は、同一クラスのオブジェクトが、異なる型のオブジェクト上で安全に作動できるようにします。
例えば、コンパイル時に List<String>
には常に String
が、List<Integer>
には常に Integer
が含まれることを保証します。
Eclipse が非総称型を扱う場合はいつでも、総称型も扱うことができます。
Eclipse 3.1 には、総称型に対する参照の検索時に使用できる新規オプションがあります。 以下に例を示します。
List<Integer>
への参照を選択し「検索」>「参照」>「プロジェクト」を使用すると、4 つすべての行のリスト型が強調表示されます。
「非互換のものをフィルタリング (Filter Incompatible)」を使用すると、選択された型と代入互換性がある型への参照のみが残ります。
「不正確なものをフィルタリング (Filter Inexact)」を使用すると、正確に同じシグニチャーを持つ型参照のみが残ります。
注釈は、Java の型およびメソッドを使用する方法、および、Java ソースへ文書化し、コンパイルに影響を及ぼしたり、実行時にクエリーしたりする方法に関するメタデータを添付します。
例えば、@Override
は、注釈を付けられたメソッドが、スーパークラス内のメソッドをオーバーライドしない場合に、コンパイラーの警告をトリガーします。
Java の型でできることは、注釈でも行うことができます。
Eclipse でフル・サポートされている非常に便利な注釈は、@SuppressWarnings
です。
例えば、現在は未使用でも、できれば削除したくない private メソッドの場合は、以下のようになります。
@SuppressWarnings
注釈の追加が提案されます。
foo
に対する警告を除去します。
列挙型は、既知の有限なオブジェクトの集合によって実行時にインスタンス化される型です。
ここでも、Java クラスに対して行えることはすべて、列挙型に対しても行うことができます。
オートボクシングおよびオートアンボクシングを使用すると、プリミティブ型がオブジェクト参照に割り当てられる場合、またはオブジェクト参照から検索される場合の構文を簡潔にすることができます。
Eclipse のソース操作では、オートボクシングはシームレスに処理され、新規ローカル変数に対する適切な型と適切なコード・アシストを提供します。 コードを理解するために、コンパイル警告に従ってオートボクシングまたはオートアンボクシングのインスタンスのフラグを立てること (「ウィンドウ」>「設定 」>「Java」>「コンパイラー」>「エラー / 警告 (Errors/Warnings)」>「J2SE 5.0 オプション (J2SE 5.0 Options)」> 「ボクシングおよびアンボクシング変換 (Boxing and unboxing conversions)」)、または構文の色の指定を使用してそれらを強調表示すること (「ウィンドウ」>「設定」>「Java」>「エディター」>「構文の色の指定 (Syntax Coloring)」>「Java」>「オート(アン)ボクシングの式 (Auto(un)boxed expressions)」) も可能です。
配列またはコレクションの各エレメントを順番に操作する一般的な事例の場合、J2SE 5.0 では新しい、よりクリーンな構文を使用することができます。 Eclipse 3.1 は、繰り返されるコレクションを自動で予測できる「foreach」コード・テンプレートを提供します。
Eclipse 3.1 は、「拡張済み for ループへの変換」クイック・アシストも提供して、可能であれば 1.4 スタイルの for
ループをアップグレードします。
他の J2SE 5.0 のフィーチャーはすべて、Eclipse の編集、検索、およびコード操作ツールによって、柔軟に処理されます。