ラムダ式(Java)①
Oracle認定Javaプログラマ(Gold, SE8)の合格を目指して勉強中です。
今回はラムダ式について。
ラムダ式とは
SE8で追加され、匿名クラスをシンプルに書くことで可読性を高めることができる。
SE7以前との記述の違いについて以下に示す。
SE7以前では、new UnaryOperatorとして、applyメソッドをオーバーライドすることを記述していたが、
SE8からはnew UnaryOperatorもapplyメソッドも記述していない。
これは、関数型インタフェースは抽象メソッドが1つしかないため、ラムダ式がどのメソッドのことを書いているのか判断できるため。
記法
ラムダ式は以下のように書くことができる。
(型 hoge) -> { 処理 }
ただし、インタフェース宣言時にはパラメータの型は自明であるため、
(hoge) -> { 処理 }
とすることもでき、さらにパラメータが1つだけであれば、
hoge -> { 処理 }
のように( )も不要になる。
また、処理についても1文の場合は{ }も省略可能である。
Javadoc
先ほどのUnaryOperatorについてJavadocを参照すると、applyのみ抽象メソッドとして定義されていることがわかる。
(その他はstaticまたはdefaultとして定義されている)
UnaryOperator (Java Platform SE 8)
以下の本で少しずつ勉強中。
オラクル認定資格教科書 Javaプログラマ Gold SE 8 (EXAMPRESS)
- 作者: 山本道子
- 出版社/メーカー: 翔泳社
- 発売日: 2016/07/21
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る