Java 中使用 lambda 函数将方法作为参数传递

这篇文章仅仅只是介绍一种方式,还有其他的自行查找。。。。。。

先定义一个内部接口(因为是在类内部做的)

interface AmountFunction{
        void setPaymentAmount(T t,BigDecimal amount);// 这个就是定义方法传入的参数,
        // 这里定义了泛型,因为有些数据类型是在使用的时候才知道是什么类型
}

接下来定义方法:

private  void getPaymentAmount(List list,AmountFunction function){
        list.forEach(i->{
           // 这里只是简单调用传入的方法,要根据自己的业务逻辑进行修改
            function.setPaymentAmount(i,amount);
        });

}

那么我们就可以调用定义好的方法:

// 获取累计付款
 List list = new ArrayList<>();
laborListgetPaymentAmount(list,i->{
    // 可以使用lambda 方式写方法
});

这样就可以把方法当作参数进行传递

你可能感兴趣的:(java,开发语言)