編集の要約なし |
編集の要約なし |
||
| 14行目: | 14行目: | ||
} | } | ||
} | } | ||
===SAMインターフェース=== | |||
{| class="wikitable" summary="SAMインターフェース" | |||
|- | |||
! SAM !! 戻り値 !! 引数 !! 利用メソッド | |||
|- | |||
| [[IntBinaryOperator]] || int || int, int || applyAsInt | |||
|- | |||
| [[IntToLongFunction]] || long || int || applyAsLong | |||
|- | |||
| [[IntToDoubleFunction]] || double || int || applyAsDouble | |||
|- | |||
| [[IntConsumer]] || int || なし || getAsInt | |||
|- | |||
| [[IntPredicate]] || boolean || int || test | |||
|} | |||
2019年7月2日 (火) 15:31時点における版
< 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インターフェース
| SAM | 戻り値 | 引数 | 利用メソッド |
|---|---|---|---|
| IntBinaryOperator | int | int, int | applyAsInt |
| IntToLongFunction | long | int | applyAsLong |
| IntToDoubleFunction | double | int | applyAsDouble |
| IntConsumer | int | なし | getAsInt |
| IntPredicate | boolean | int | test |