コツコツ学習ブログ

プログラマのweb上のメモ的なもの

ラムダ式

メソッドの実体が生まれるタイミング

メソッドとして定義した処理ロジック(関数)の実体は、 必要とされる時期に関わらず、クラスがJVMに読み込まれたときに自動的に生成される

ラムダ式とは

ざっくりいうと、関数の定義と、その実体の即時生成が行える

  • ラムダ式を用いることで、関数の実体をプログラム実行中に生成できる
  • 省略記法を利用し、簡単な関数であればシンプルに記述することができる
  • 自身が生成されたときに利用可能であった変数をラムダ式内部で利用可能

構文

(型 引数名1, (型 引数名2 , ..) -> { 処理; : return 戻り値; }

クロージャ

自身が評価され関数の実体が生み出される際、その時点でアクセス可能な 全ての変数の情報を記憶し、ラムダ式の中で参照できる という特徴がある

package sample;

import java.util.function.Function;

public class Main {
    public static void main(String[] args) {
        //ラムダ式
        Function<String, Integer> function = (String s) -> {
            return s.length();
        };
        int n = function.apply("banana");
        System.out.println("文字列「banana」は" + n + "文字です");
    }
}