进阶day06-Function中的andThen方法(整合工厂)

This commit is contained in:
2026-03-14 13:32:49 +08:00
parent c2452d0811
commit a07cd63cc7

View File

@@ -0,0 +1,39 @@
package com.inmind.functional_interface02;
import java.util.function.Function;
/*
学习内容Function中的andThen方法
default <V> Function<T,V> andThen(Function after) 合并2个Function接口生成一个新的先执行this的apply方法再执行after的apply方法
default <V> Function<V,R> compose(Function before) 与以上的方法完全相反
需求:
1."10"->10
2.10->100
分析:
1.一个Function 将"10" 转换成10
2.另一个Function 将10 转换成100
*/
public class Demo14 {
public static void main(String[] args) {
method( s->Integer.parseInt(s),
i->i*10
,"10"
);
}
//定义一个方法接收2个数据工厂1个数据原料打印最终结果不需要返回值
public static void method(Function<String,Integer> function1 ,Function<Integer,Integer> function2,String s) {
/*Integer result1 = function1.apply(s);
Integer result2 = function2.apply(result1);*/
/* Integer result2 = function2.apply(function1.apply(s));
System.out.println(result2);*/
/*default <V> Function<T,V> andThen(Function after) 合并2个Function接口
生成一个新的先执行this的apply方法再执行after的apply方法*/
System.out.println(function1.andThen(function2).apply(s));
}
}