Java Gold合格への道 ~java.util.functionの関数型インタフェース~
スポンサーリンク
こんにちは。たろすです。
今回はjava.util.functionパッケージにあらかじめ用意されている関数型インタフェースについて説明します。
関数型インタフェースとラムダ式を理解している前提なので、よくわからない方はまずはこちらをご覧ください。
Supplier
Supplierは日本語にすると「供給者」。
つまり引数は受け取らないけど戻り値を供給する抽象メソッド「T get()」を宣言する関数型インタフェースです。
以下のように使います。
Supplier<String> supplier = () -> "Hello";
System.out.println(supplier.get());
Predicate
Predicateは論理学における「述語」という意味です。
つまり引数を受け取り評価する抽象メソッド「boolean test(T t)」を宣言する関数型インタフェースです。
以下のように使います。
Predicate<Integer> predicate = num -> num == 0; System.out.println(predicate.test(5));
Consumer
Consumerは日本語にすると「消費者」。
つまり引数を消費し戻り値を返さない抽象メソッド「void accept(T t)」を宣言する関数型インタフェースです。
以下のように使います。
Consumer<Integer> consumer = num -> System.out.println(num + 1); consumer.accept(1);
Function
Functionは日本語にすると「関数」。
つまり引数を受け取り戻り値を返す抽象メソッド「R apply(T t)」を宣言する関数型インタフェースです。
以下のように使います。
Function<Integer, Integer> function = num -> num + 1; System.out.println(function.apply(2));