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