MaterialsEN中文ホームブログ技術ブログ【初心者向け】今更聞けない?Java8のラムダ式について知ろう!【初心者向け】今更聞けない?Java8のラムダ式について知ろう!作成日:2014/04/30更新日:2018/06/20技術ブログプログラミングJavaこんにちは。SI部の金巻と申します。導入された新機能の中から目玉、「ラムダ式」についてご紹介したいと思います。8、新たな表記法として「ラムダ式」が追加されました。(事情通の方からすると「やっとか!」と言った感じですが、、、)またこのラムダ式を使う事によって効果を発揮するAPIも追加される事になり無視出来ないバージョンアップとなりました。今回はそのラムダ式についてラムダ式とは?ラムダ式って美味しいの?ラムダ式は読めないとまずい?の3つのテーマを解説して行きます。対象は「まだラムダ式を知らない人」向けの内容となっております。【所要時間:約五分】それではラムダ式の世界にいってみましょう!ラムダ式とは?ラムダはLAMBDAと表記し、Javaコミュニティでは「クロージャ(Closure)」とも呼ばれています。アクセス権で考えれば関数単位なのでクロージャではないという意見もありますがこのラムダ式は「関数型インタフェース」のメソッドを実装する際に使う事が出来ます。関数型インタフェースとは1つのインターフェースに実装が必要なメソッドを1つだけ持つインターフェースの事です。関数型インタフェースとはこういうものです。run();}ただし、実装が必要なメソッドを1つ持つだけのインタフェースであればFunctionalInterfaceアノテーションの有無に関わらず関数型インタフェースとして取り扱います。FunctionalInterfaceを付けると条件を満たしていない場合にコンパイルエラーになってくれるしひと目で関数型インタフェースを目的としていると分かりやすいので付けることを推奨します。ラムダ式は下記の基本文法に従って、処理の実装を簡潔に記述できるようになります。}ラムダ式って美味しいの?ラムダ式で何が変わるのか、このセクションではラムダ式の利点について紹介します。簡素化された記述に変わりますラムダ式に変わることで起こるメリットの1つはインタフェースの実装の為に書かれていたソースを簡潔に書けるようになるという点です。いうことかといいますとintの引数を1つ渡す以下のようなインタフェースがあったとします。}}これをラムダ式に書き換えると次の様になります。x+x;};圧倒的な短さです。これだけで驚いてはいけません。型を省略することが出来ます。x+x;};さらに引数が1つの場合のみですが括弧を、{}の中身が単文の場合は{}とreturnを省略できます。x+x;intFunc2よりもさらに短いコードで同じ内容を書くことが出来ているのが分かると思います。この様に簡潔に処理を書く事が出来る様になりました。8では他にも、さまざまな新機能が導入されます。今日のアプリケーション基盤はマルチコアを搭載したサーバ環境が主流になっています。API”と呼ばれるAPIを使うことで、並列処理を行うプログラムをより簡潔に書けるようになりました。API”が追加され直感的で分かりやすい形でプログラムを書けるようになります。ラムダ式は、これらのAPIに引数として渡す関数型インターフェースの処理を記述するのに適した表記法になっています。ラムダ式は読めないとまずい?Java8ではもちろん上記でご紹介したように従来の匿名クラスを使う方法が禁止されているわけではなくラムダ式を使わなくても実装を行えます。今後多くの人がラムダ式を利用し始めた場合、他人のプログラムが読めないなんて事態に発展。Javaを扱う人にとってラムダ式を書くことは出来なくても最低でも読めて理解出来ないと悲しいことになってしまうでしょう。最後にいかがでしたでしたか?今回の説明でJava8のラムダ式について、そしてラムダ式がJavaエンジニアに与える影響が理解して頂けましたでしょうか?次回はその他の新機能について解説出来ればと思います。MaterialsEN。