< Java基本文法

  • 変数に特定のメソッドを割り当てて、その変数によってメソッドを再利用する
  • 機能オブジェクトを利用するには同じ戻り値と引数を定義したSAMインターフェースを使う
  • 手軽にロジックを変数に割り当てたい場合は ラムダ式 が利用できる
import java.util.function.*;
public class Main {
    public static int sub(int a, int b) {
        return a - b;
    }
    public static void main(String[] args) {
        IntBinaryOperator func = Main::sub;
        int ans = func.applyAsInt(5, 3);
        System.out.println("5 - 3" + ans);
    }
}

SAM(single-abstract-methid interface)インターフェース

SAM 戻り値 引数 利用メソッド
IntBinaryOperator int int, int applyAsInt
IntToLongFunction long int applyAsLong
IntToDoubleFunction double int applyAsDouble
IntConsumer void int accept
IntSupplier int なし getAsInt
IntPredicate boolean int test