Java8で導入された機能に「ラムダ式」があります。
ラムダ式
【 ラムダ式の基本構文 】
( 引数 ) -> { 処理 } |
ラムダ式を使用すると、関数型インタフェースの実装を簡潔に記述することができます。
関数型インタフェースとは、抽象メソッドを1つだけ含むインタフェースのことです。
例えば、並行処理を行う際に利用するRunnableインタフェースも関数型インタフェースと言えます。
【 Runnableインタフェースの定義 】
Runnableインタフェースを匿名クラスを使用して実装した場合、以下のような記述となります。
ラムダ式を使用して実装すると、以下のように簡潔に記述できます。
ラムダ式の省略記法
ラムダ式には、さまざまな省略した記述法があります。
IntToLongFunctionインタフェースを例にして見ていきましょう。
1. 引数のデータ型を省略できる
2. 引数が1つの場合は小括弧()を省略できる
3. 処理が1つの文の場合は中括弧{}を省略できる
この場合、戻り値がある・なしに関わらずreturn文は不要
慣れるまでは不思議な記述法にしか見えませんが、簡潔に記述できるとプログラムの可読性も向上します。ぜひ、この機会に書き方を覚えてくださいね。