「Java」java.util.functionクラスのcompose()、andThen()を使うサンプル
説明
1.default <V> Function<V,R> compose(Function<? super V,? extends T> before)
まず入力に関数beforeを適用し、次に結果にこの関数を適用する合成関数を返します。
2.default <V> Function<T,V> andThen(Function<? super R,? extends V> after)
まず入力にこの関数を適用し、次に結果に関数afterを適用する合成関数を返します。
Javaコード
package com.arkgame.study; import java.util.function.Function; public class DemoFunction { public static void main(String[] args) { Function<Integer, Integer> cftA = m -> m + 2; Function<Integer, Integer> cftB = m -> m * 2; int m = 2; System.out.println("appl関数の結果:\n" + cftA.apply(m)); System.out.println("composeとapply関数の結果:\n" + cftA.compose(cftB).apply(m)); System.out.println("andThenとapply関数の結果:\n" + cftA.andThen(cftB).apply(m)); } }
実行結果
apply関数の結果:
4
composeとapply関数の結果:
6
andThenとapply関数の結果:
8