*

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


スポンサードリンク



関連記事

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

Java超入門 with Eclipse[3:クラスに関する基礎知識(クラスとインスタンスとパッケージ)]

Javaといえば、「オブジェクト指向」とのイメージがとっても強いですよね。 そう、そうです。間違い

記事を読む

Eclipse4.3のチュートリアル機能で”Hello World”アプリケーションの作成方法を説明する。

Eclipseのインストールが終了したので、各画面エリアの名称の説明、各画面エリアの使い方の説明を

記事を読む

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

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

記事を読む

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

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

記事を読む

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

Java8になりラムダ式と「Stream API」が利用できるようになりました。 C#では一足早く

記事を読む

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

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

記事を読む

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 ↑