*

Java8の新機能に完全対応のEclipseメジャーリリースとなる Eclipse 4.4 Luna (ルナ) が遂にリリース

公開日: : 最終更新日:2015/05/03 Eclipse, Java


スポンサードリンク



Eclipse メジャーリリースとなる Eclipse 4.4 Luna (ルナ) が遂にリリースされました。
ってまたまた出遅れちゃいましたが・・・

「4.4.0 Integration Build: I20140318-0830」よりすべてのLuna (4.4)ビルドがJava 8サポート機能を含むことになることは、Eclipseトップレベルプロジェクトから3月18日(米国時間)に発表済みでしたので、いよいよEclipseでJava8の新機能を使いこなせるようになったはずです。

公式ページの新機能の説明
「Eclipse documentation – Current Release Eclipse Luna」

Pleiades All in Oneでも、Eclipse 4.4 Lunaに対応が完了しているようですので、4.4を落とした後に日本語化という手順をとらずに、こちらを利用して試してみたいと思います。

とりあえず起動して確認

とりあえず「Eclipse 4.4 Luna」の起動です。
起動画面は以下のようになっています。
2

jreも1.8になっています。
3

Java Editor

ラムダ式のコーディングとコード補完

ラムダ式のコンパイルと実行、及びコーディング時のコード補完について確認してみます。

単純なラムダ式がコンパイル&実行できるか確認

以下のコードをコンパイルし実行してみました。

おおお!、コンパイルも実行も問題なくできました。
Java8の新機能であるラムダ式に対応できています。
001

Functionインターフェースを利用したラムダ式を確認

Function<T1, TResult>とジェネリックな関数インターフェースを利用したラムダ式を確認してみます。

Functionインターフェースの詳細につきましては、
「JDK8(java 8)の新機能のラムダ式の利用方法[その3:java8が用意している関数型インターフェース」をご覧ください。

実際には、T1にInteger、TResultにStringを指定してみます。
java.util.function.Functionインターフェースはラムダ式を利用するためにJava8で追加されましたので、まずはこれがコード補完の候補に表示されるか確認してみます。

Fuだけ入力してコード補完を呼び出しました。その結果が以下の画面です。
4Fuからコードアシスト

Functionインターフェースが候補として表示されましたので、これを選んでコードを確定したところ、以下の画像のような結果になりました。
5Fuからコードアシスト

次に、ラムダ式の引数がラムダ式内でコード補完の対象となるかを確認しましたが、これも問題なく動作しました。
6Fuからコードアシスト

最終的なコードは以下のようになりましたが、ラムダ式を実装する上で必要なコード補完機能の動作が確認できました。
Functionインターフェースはapplyメソッドを呼び出すことで実行されます。

リファクタリング機能の確認

補完機能は既に確認済みですので、リファクタリング機能を確認してみます。

ラムダ式から匿名クラス

先ほどのFunctionインターフェースを利用したラムダ式のコードを利用して、ラムダ式から匿名クラスの変換を試してみます。

矢印演算子(->)のあたりにマウスカーソルをあてた後に、右クリックメニューを表示し「クイック・フィックス」をクリックします。
9Fuからコードアシスト

表示される変換候補の「匿名クラス生成に変換します」を選択します。
10Fuからコードアシスト

変換後のコードは以下のようになりました。

匿名クラスからラムダ式

先ほど変換したコードの匿名クラス部分をラムダ式に変換してみます。
new Functionのあたりにマウスカーソルをあてた後に、右クリックメニューを表示し「クイック・フィックス」をクリックします。

表示される変換候補の「ラムダ式に変換します」を選択します。
19

変換後のコードは以下のようになりました。
元に戻りましたね。

本文の式をブロックに変更

矢印演算子(->)のあたりにマウスカーソルをあてた後に、右クリックメニューを表示し「クイック・フィックス」をクリックします。

表示された変換候補の「本文の式をブロックに変更」を選択します。
18

変換後のコードは以下のようになりました。

予想通りのブロック化ですね、中括弧で括られるようになると、明示的に値を返却しないといけなくなるのでreturnで値を返却するように変更されています。

ラムダに対する新しいフォーマットオプションを追加

Eclipseの設定画面の[Java]>[コード・スタイル]>[フォーマッター]をクリックし
「フォーマッター」設定画面を表示した後、「編集」ボタンをクリックします。

ラムダ本文の中括弧の設定

ラムダ式で中括弧を利用するときの位置指定を設定できます。
13

ラムダ宣言時の空白文字設定

ラムダ式の矢印演算子(->)の前後の空白文字の有り無しが設定できます。
14

ダークテーマの追加

Eclipse 4.4 Lunaからテーマにダークが新規追加されました。

Eclipseの設定画面の[一般]>[外観]をクリックします。
15

設定画面が表示されましたので、「テーマ」のコンボをクリックし「ダーク」を選択後に「適用」ボタンをクリックします。
16

Eclipseの外観が以下のように変わりました。
17

Eclipse 4.4 Lunaには、他にも多くの新機能が有りますので、詳細は
公式ページの新機能の説明
「Eclipse documentation – Current Release Eclipse Luna」をご覧ください。

当ブログでは、Java8の新機能を取り扱ったエントリーがございますので、こちらも是非ごらんください。
JDK8(java 8)の新機能のラムダ式の利用方法[その1:概要]


スポンサードリンク



関連記事

Java超入門 with Eclipse[5:クラスに関する基礎知識(メソッドをJUnitを使って説明)]

クラスに関する基礎知識シリーズも、いよいよメソッドを残すのみとなりました。 前回までは、Eclip

記事を読む

JUnit入門その7[Eclipse4.4のJUnitプラグインとDBUnitの併用(更新系のテストの実装)]

JUnit入門その6 ではDBUnitを便利に利用するためのユーティリティ(と言っても基底クラスで

記事を読む

Eclipse4.4(Java)におけるビルド・パス関係の設定方法[ビルド・パス上のソース・フォルダー]

Eclipse4.4(Java)におけるビルド関係のビルド・パス上のソース・フォルダーの利用方法を説

記事を読む

Eclipse(4.4)でJava言語のリファクタリング機能の使い方[「メソッド・シグニチャーの変更」と基本的な抽出処理、及び「インライン化」、「定数の抽出」]

本エントリーでは、Eclipse(4.3)でJava言語のリファクタリング機能の使い方に引き続き

記事を読む

JDK8(Java8)のインストール方法[Windows]

本エントリーは、Windows7 64bitにJDK8(Java8)をインストールする説明を記載させ

記事を読む

Eclipse4.4(Java)におけるビルド・パス関係の設定方法[ビルド・パス上に必要なプロジェクト/プロジェクト参照の追加]

Eclipse4.4(Java)におけるビルド関係のビルド・パス上の「ビルド・パス上に必要なプロジェ

記事を読む

JUnit入門その4[Eclipse4.4のJUnitプラグインとDBUnitの併用(環境構築と基本)]

JUnit入門その1 JUnit入門その2[Eclipse4.4のJUnitプラグインのasse

記事を読む

JUnit入門その5[DBUnitの概要説明]

前回エントリーでは「JUnit入門その4」と題してDBUnitをEclipseで動作させるための環境

記事を読む

java8(JDK8)の新機能[大幅に強化されたコレクションAPI:java.util.List] をeclipseとJUnitで確認する。

Java8(JDK8)では、ラムダ式の導入を前提とした、コレクションAPIの新機能が追加されました。

記事を読む

Mac(OS X)におけるJava8(jdk8)等のインストール、アップデート、アンインストール方法

Windowsとは異なりMac(OS X)ではJDKの管理(インストール、アンインストール)が難しい

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Spring5入門[AbstractRoutingDataSourceで複数DBへの接続とトランザクション制御]

今回はSpring MVCから複数データベースに接続とトランザクション

Eclipse Oxygen Update 1 (4.7.1)を利用してJUnit5の公式ガイドの内容を実践してみる。

いよいよJUnit5が本格的に利用できる環境が整ってきました。

Spring5入門[簡単なWebアプリのユニットテストをJUnit5とJMockitで作成]

Spring5入門ではJUnit4とmockitを利用したSpring

Spring5入門[STS(Spring Tool Suite)で簡単なWebアプリの典型的なユニットテストの実現方法]

前回は「Spring入門」で、Spring MVCを利用した簡単なWe

Spring5入門[STS(Spring Tool Suite)の環境作成と簡単なWebアプリの作成]

Struts1ももう過去の遺物になり、SAStrutsもEOLとなりも

→もっと見る

PAGE TOP ↑