美文网首页
java8以上的函数式接口支撑三个以上参数

java8以上的函数式接口支撑三个以上参数

作者: zxbyh | 来源:发表于2020-03-22 12:32 被阅读0次

        java8里面增加了java.util.function.Function和lambda
    有了这两个东东 就可以 实现函数式编程的特征了。如果有两个参数的函数可以用BiFunction,但是三个以上怎么弄啦? 这时候就可以用柯里化的办法了。

    直接上代码:

    import java.util.function.Function;
    
    public class KeliDemo2 {
    
        public static int funcP31(int p1,int p2,int p3){
            return (p1+p2)*p3;
        }
    
        public static int funcP32(int p1,int p2,int p3){
            return (p1+p2)/p3;
        }
    
        public static int funcGaojieStatic(int arg1,Function<Integer, Function<Integer, Function<Integer, Integer>>> triFunc){
            return triFunc.apply(arg1).apply(3).apply(5);
        }
    
    
        public static void main(String[] args) {
            System.out.println(
                    funcGaojieStatic(1,x -> y -> z -> funcP31(x,y,z))
            );
    
            System.out.println(
                    funcGaojieStatic(12,x -> y -> z -> funcP32(x,y,z))
            );
        }
    
    }
    

    相关文章

      网友评论

          本文标题:java8以上的函数式接口支撑三个以上参数

          本文链接:https://www.haomeiwen.com/subject/ifwmyhtx.html