ラムダ式

ラムダ式とは、「匿名クラスの表記を省略したもの」です。コードを簡潔に記述するための言語仕様で、ラムダ式を使うことでメソッドを簡単に定義し、その場で使用することができます。それでは、どのように省略していくのか、みていきましょう。

ラムダ式に変換する10の手順

  1. インターフェースの表記を省略
  1. 修飾子の表記を省略
  1. 抽象メソッドの戻り値の型を省略
  1. 抽象メソッドの名前を省略
  1. 抽象メソッドの引数の型を省略
  1. returnを省略
  1. 抽象メソッドのを省略
  1. 匿名クラスのを省略
  1. 演算子を省略
  1. アロー演算子を記述
最後だけ記述です。
いっぱいありすぎて混乱するかもしれませんが、この10の手順に従えば、匿名クラスの宣言がラムダ式になります。
省略前のソースコードは以下のようになります。
  1. インターフェースの表記を省略する。
    1. new演算子のところのを削除しました。
  1. 修飾子の表記を省略する。
    1. runメソッドのを削除しました。
  1. 抽象メソッドの戻り値の型を省略する。
    1. を削除しました。
  1. 抽象メソッドの名前を省略する。
    1. を削除しました。
  1. 抽象メソッドの引数の型を省略します。
    1. このサンプルの場合、runメソッドには引数がないので、省略できるものがありません。引数がある場合は、型を削除してください。
  1. returnを省略します。
    1. 戻り値もないので省略できるものがありません。return文がある場合は、消去してください。
  1. 抽象メソッドの{ }と;を省略します。
    1. の命令文だけが1行残りました。
  1. 匿名クラスの{ }を省略します。
    1. セミコロンだけが残りました。
  1. new演算子を省略します。
    1. 最後にアロー演算子を記述します。
      1. の後ろに記述します。
    まとめるとこうなります。
    ラムダ式の部分は
    ココです。
    とっても簡潔な記述になりました。作成したクラスもこのクラスのみです。
    ラムダ式は、Stream APIと呼ばれる言語仕様でよく利用されます。