編集の要約なし |
編集の要約なし |
||
| 2行目: | 2行目: | ||
* [[機能オブジェクト]] を作るまでもなく、その場で簡易的にロジックを生成/利用できる | * [[機能オブジェクト]] を作るまでもなく、その場で簡易的にロジックを生成/利用できる | ||
* そのロジックを格納するには同じ戻り値と引数を定義した[[SAMインターフェース]]を使う | |||
import java.util.function.*; | import java.util.function.*; | ||
public class Main { | public class Main { | ||
2019年7月2日 (火) 16:12時点における版
< Java基本文法
- 機能オブジェクト を作るまでもなく、その場で簡易的にロジックを生成/利用できる
- そのロジックを格納するには同じ戻り値と引数を定義したSAMインターフェースを使う
import java.util.function.*;
public class Main {
IntBinaryOperator func = (int a, int b) -> { return a - b; };
int ans = func.applyAsInt(5, 3);
System.out.println("5 - 3 = " + ans);
}
}
利用例
// 勇者インスタンスのHPを取り出す
(Hero h) -> { return h.getHp(); }
// 現在の日時を取り出す
() -> { return new java.util.date(); }
// long配列のコピーを作り、並べ替えたものを取り出す
(long[] arrays) -> {
long[] newArrays = java.util.Arrays.copyOf(arrays, arrays.length);
java.util.Arrays.sort(newArrays);
return newArrays;
}