先看源码
@FunctionalInterface public interface BiFunction{ R apply(T t, U u); default BiFunction andThen(Function super R, ? extends V> after) { Objects.requireNonNull(after); return (T t, U u) -> after.apply(apply(t, u)); } }
apply()方法例子:
@Slf4j
public class BiFunctionTest {
public static void main(String[] args) {
test((processId, status) -> {
log.info(">>>>>>>main");
int result = Integer.parseInt(processId) + status;
return result;
});
}
private static void test(BiFunction callback) {
log.info(">>>>>>>test");
Integer apply = callback.apply("1", 2);
log.info(">>>>>>>{}", apply);
}
}
打印结果:
21:25:34.650 [main] INFO com.ceam.data.tree.common.function.bifunction.BiFunctionTest - >>>>>>>test 21:25:34.652 [main] INFO com.ceam.data.tree.common.function.bifunction.BiFunctionTest - >>>>>>>main 21:25:34.652 [main] INFO com.ceam.data.tree.common.function.bifunction.BiFunctionTest - >>>>>>>3
总结:
可以把一个大的方法分割为两个,或者把模块分割降低耦合,两者还是存在依赖的。
如果对你有帮助帮忙点个赞哈


