編集の要約なし
15行目: 15行目:
     }
     }
  }
  }
===SAM(single-abstract-methid interface)インターフェース===
{| class="wikitable" summary="SAMインターフェース"
|-
! 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
|}

2019年7月2日 (火) 16:11時点における版

< 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);
    }
}