*

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)の新機能のラムダ式の利用方法[その1:概要]

「JDT betaを利用してJDK8対応のEclipse開発環境を作成する」では、「Eclipse」

記事を読む

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

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

記事を読む

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

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

記事を読む

Selenium入門その3[Selenium WebDriver(Java/Junit4)の使い方]

WebDriverでは、予め中継サーバを起動しなくても、テスト実行時にブラウザ拡張機能や、OSのネイ

記事を読む

Java超入門 with Eclipse[4:クラスに関する基礎知識(修飾子とクラスとインスタンスと変数)]

前回は、Javaの基本であるクラスの基本的な知識をざっくりと説明させていただいたあと、 packa

記事を読む

Java超入門 with Eclipse[1:Eclipse環境の作成とEclipseの使い方の説明]

「JDT betaを利用してJDK8(java 8)対応のEclipse開発環境を作成する」では、最

記事を読む

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

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

記事を読む

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

Struts1ももう過去の遺物になり、SAStrutsもEOLとなりもう半年以上が経過しました。

記事を読む

Selenium入門その4[Selenium WebDriver(Java/Junit4)の基本コマンド]

前回はEclipse環境でSelenium WebDriverでJava/Junit4を利用したテス

記事を読む

JUnit入門その1[Eclipse4.4のJUnitプラグインの基本的な使い方]

利用する環境の作成につきましては、「Eclipseの使い方(Windows環境のEclipse4.3

記事を読む

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となりも

→もっと見る

Optimization WordPress Plugins & Solutions by W3 EDGE
PAGE TOP ↑