*

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


スポンサードリンク



関連記事

JDK8(java 8)の新機能のラムダ式の利用方法[その3:java8が用意している関数型インターフェース]

[その2:関数型インターフェースを例としたラムダ式] と説明させていただいておりますが、

記事を読む

お勧め本紹介[新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)]

リファクタリング―プログラムの体質改善テクニック (Object Technology Series

記事を読む

「HyperSQL」の環境を作成し、Eclipseの「DBViewer」プラグインを利用してSQLを発行してみる

Eclipseの「DBViewer」プラグインを利用して「Java DB」の環境を作成し、SQLを発

記事を読む

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

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

記事を読む

JUnit入門その3[Eclipse4.4のJUnitプラグインとMockフレームワークのJMockitの併用の基本]

JUnit入門その3ではMockフレームワークのJMockitを利用したテスト環境の構築と使い方につ

記事を読む

Eclipseの「JSDT-jQuery」プラグインでJQuery(JavaScript)のコード補完が可能な環境を作成する

Eclipse for JavaEE Developer等のWeb開発系のEclipseがインストー

記事を読む

Eclipse4.4,4.3の使い方[エディタのフォントサイズの変更方法]

今回は、Eclipse4.4と,4.3におけるエディタエリアのフォントサイズの変更方法を説明させてい

記事を読む

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

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

記事を読む

Eclipse(4.3,4.4)のJava言語のリファクタリング機能の使い方[リファクタリングの説明と「名前変更」と「移動」]

本エントリーでは、Eclipse(4.3,4.4)の「リファクタリング」機能の使い方を説明させていた

記事を読む

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

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

記事を読む

Message

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

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

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

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

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

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

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

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

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

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

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

→もっと見る

Optimization WordPress Plugins & Solutions by W3 EDGE
PAGE TOP ↑