*

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:概要]


スポンサードリンク



関連記事

Eclipse4.4(Java)におけるビルド・パス関係の設定方法[ビルド・クラスパスの順序およびエクスポート設定]

Eclipse4.4(Java)におけるビルド関係のビルド・パス上の「ビルド・クラスパスの順序および

記事を読む

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

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

記事を読む

Eclipseの「DBViewer」プラグインの使い方[後編]

Eclipseの「DBViewer」プラグインの使い方 では、「DBViewer」プラグインの基本

記事を読む

Selenium利用時のトラブルシューティング方法[クリック編]

Seleniumは便利なテスト自動化ツールですし、今後は更なる利用者の増加が見込まれます。 とは言

記事を読む

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

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

記事を読む

JUnit入門その6[Eclipse4.4のJUnitプラグインとDBUnitの併用(便利に利用するためのユーティリティの作成)]

JUnit入門その4 でDBUnitの環境構築を説明させていただきました。 今回は、前提値デ

記事を読む

Eclipseの使い方(Eclipse4.4のブックマーク機能とタスク機能)

今回は、Eclipseのブックマーク機能とタスク機能の説明をさせていただきます。 両機能とも効率的

記事を読む

java8(JDK8)の新機能をEclipseとJUnitで[インターフェースのデフォルト実装の使い方]

本エントリーでは、まずSAM Typeの説明をさせていただきます。 その流れの中で「java8の新

記事を読む

JUnit入門その9[@RunWithアノテーションを利用したテストの作成]

今回は@RunWithアノテーションを利用したテストの作成方法を説明させていただきます。 JU

記事を読む

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

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

記事を読む

Message

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

Selenium入門その6[Selenium3でWebDriver(Java/Junit4)の環境を作成しEdge,Chrome,Firefoxで確認してみる]

Selenium3も3.0.1がリリースされましたし、今後は本格的にS

Selenium利用時のトラブルシューティング方法[クリック編]

Seleniumは便利なテスト自動化ツールですし、今後は更なる利用者の

Java8のラムダ式とStream APIを利用してコーディング量の削減サンプル集

Java8になりラムダ式と「Stream API」が利用できるようにな

Selenium入門その5[ページオブジェクトパターン(Page Object Design Pattern)を利用して変更に強いテストを作成する方法]

Selenium入門その2 では「UIマップファイル」と言う仕組みが

Javaによる非同期処理入門その1[非同期処理の実装方法の概説]

Javaによる非同期処理に関するエントリーを前々から作成したいと思って

→もっと見る

Optimization WordPress Plugins & Solutions by W3 EDGE
PAGE TOP ↑