javazx 发表于 2019-8-6 01:10:52

【Java源码】Java8函数式编程之Function github源码 java代码

《Java8函数式编程之Function》场景:可以应用在计算逻辑中 java代码

部分java源码:
1、
package com.javazx.jdk8;

import java.util.function.BiFunction;
import java.util.function.Function;

/**
* @author: itmrchen
* @Description: Function中的compose和andThen两个方法的使用
* 如果是两个参数一个输出则用BiFunction
* @date 2019/8/6 0:16
*/
public class FunctionTest2 {
    public static void main(String[] args) {
      FunctionTest2 functionTest = new FunctionTest2();
      System.out.println(functionTest.compute(2, value -> value * 3, value -> value * value));
      System.out.println(functionTest.compute2(2, value -> value - 3, value -> value * value));

      System.out.println(functionTest.compute3(2, 3, (value1, value2) -> value1 + value2));

      System.out.println(functionTest.compute4(2, 3, (value1, value2) -> value1 + value2, value -> 2 * value));

    }

    /**
   * 先计算function2 再将结果与function1运算
   *
   * @param a
   * @param function1
   * @param function2
   * @return
   */
    public int compute(int a, Function<Integer, Integer> function1, Function<Integer, Integer> function2) {
      return function1.compose(function2).apply(a);
    }

    /**
   * 先计算function1 再将结果与function2运算
   *
   * @param a
   * @param function1
   * @param function2
   * @return
   */
    public int compute2(int a, Function<Integer, Integer> function1, Function<Integer, Integer> function2) {
      return function1.andThen(function2).apply(a);
    }

    /**
   * 具体操作由调用者决定
   *
   * @param a
   * @param b
   * @param function
   * @return
   */
    public int compute3(int a, int b, BiFunction<Integer, Integer, Integer> function) {
      return function.apply(a, b);
    }

    /**
   * @param a
   * @param b
   * @param biFunction
   * @param function
   * @return
   */
    public int compute4(int a, int b, BiFunction<Integer, Integer, Integer> biFunction, Function<Integer, Integer> function) {
      return biFunction.andThen(function).apply(a, b);
    }


}





github地址:https://github.com/itmrchen/java8位置在 java8\src\main\java\com\javazx\jdk8\FunctionTest.java FunctionTest2.java





258564153 发表于 2019-12-24 19:03:52

大佬厉害呀

hgwsm 发表于 2020-1-8 12:45:19

我12318 发表于 2020-1-24 22:50:22

学习学习再学习

窘迫 发表于 2020-2-6 12:19:26

很完美的教程!!!!

RoaringHiro 发表于 2020-2-11 09:44:48

多谢分享~~~~~~~~~~~~~

sshtgdj 发表于 2020-2-12 09:19:14

china_ebaby 发表于 2020-2-15 18:06:43

天哪终于找到这个课程了

小敏 发表于 2020-2-18 18:38:05

佩服佩服!

kghkh. 发表于 2020-2-29 23:13:13

页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 【Java源码】Java8函数式编程之Function github源码 java代码