0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ラムダ式とメソッド参照 - 備忘録

Posted at

ラムダ式

簡単に言うと「短くかける関数」

ラムダ式の構文

ラムダ式の構文
(引数) -> {実行したい処理}

->は「~を使って実行する」というイメージ

例 : 値を受け取って処理をする

引数で受け取った値を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");
};

↑のように短く書ける

ラムダ式の省略ルール

  1. 型推論による型の省略
    インタフェースの宣言時に引数の型は決定しているため、明記しなくても推論できるため型名の省略が可能
    型名を省略した時の書き方
    (a) -> { return a * 2; }
    
  2. 引数が1つの場合は()の省略が可能
    ただし、引数がない場合や複数ある場合は省略不可
    型名を省略した時の書き方
    a -> { return a * 2; }
    
  3. 処理が1行であれば{}とreturnを省略できる
    {}とreturnの省略
    a -> a * 2;
    (a, b) -> a + b
    
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?