「Java」java.util.functionクラスのcompose()、andThen()を使うサンプル

2020年12月11日

説明
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

Java

Posted by arkgame