ラムダ式
簡単に言うと「短くかける関数」
ラムダ式の構文
ラムダ式の構文
(引数) -> {実行したい処理}
・->
は「~を使って実行する」というイメージ
例 : 値を受け取って処理をする
引数で受け取った値を2倍にする
(int a) -> { return a * 2; }
ラムダ式を使う場所
ラムダ式は、関数型インタフェースという「メソッドが一つだけあるインタフェースを実装する」場合に使われる。
関数型インタフェースチートシート
例 : Runnableインターフェースの実装
Runnableインタフェースはメソッドが1つ (runメソッド) だけの関数型インタフェース
Runnableインタフェースの匿名クラスでの書き方
Runnable r = new Runnable() {
@Override
public void run() {
System.out.print("hello");
}
};
ラムダ式での書き方
Runnable r = () -> {
System.out.print("hello");
};
↑のように短く書ける
ラムダ式の省略ルール
- 型推論による型の省略
インタフェースの宣言時に引数の型は決定しているため、明記しなくても推論できるため型名の省略が可能型名を省略した時の書き方(a) -> { return a * 2; }
- 引数が1つの場合は()の省略が可能
ただし、引数がない場合や複数ある場合は省略不可型名を省略した時の書き方a -> { return a * 2; }
- 処理が1行であれば{}とreturnを省略できる
{}とreturnの省略
a -> a * 2; (a, b) -> a + b