技術とか戦略とか

証券レガシーシステムを8年間いじった普通のSEによるブログ。技術のみではなく趣味の戦略考察についても。PCから見た方が色々見やすいと思います。

java:今さらながらJava8新機能について調べてみた(ラムダ式)

以前の記事で書いた通りJava6までしか知らなかったので、Java8の新機能について調べています。
Java8は色々と言語仕様が追加されており一気に調べきれないので、1機能ずつ調べていきます。
今回は「ラムダ式」についてです。
 
ラムダ式どころか、その背景にある「ローカルクラス」「無名クラス」といった概念も良く知らなかったのですが、下記のページでわかりやすく解説されており、私でも理解できました。
 
Java8のラムダ式を理解する

https://qiita.com/sano1202/items/64593e8e981e8d6439d3

 
実務でアロー演算子(->)が出てきて意味が分からなくて焦ったのですが、これはラムダ式の書き方だったのですね。
C言語で出てくるアロー演算子と使い方が異なるので余計に焦りました)
 
「Function<T, R>(Tは引数の型、Rは戻り値の型)」
「Consumer<T>(Tは引数の型、戻り値はvoid)」
「Predicate<T>(Tは引数の型、戻り値はboolean)」
等の関数型インターフェースの種類や、
「関数型インターフェース等のクラス名 インスタンス名 = (引数) -> { 処理 };」
「『(引数) -> { 処理 }』を引数として渡す」
といった書き方は覚えておきたいと思います。