这篇文章仅仅只是介绍一种方式,还有其他的自行查找。。。。。。
先定义一个内部接口(因为是在类内部做的)
interface AmountFunction<T>{
void setPaymentAmount(T t,BigDecimal amount);// 这个就是定义方法传入的参数,
// 这里定义了泛型,因为有些数据类型是在使用的时候才知道是什么类型
}
接下来定义方法:
private <T> void getPaymentAmount(List<T> list,AmountFunction<T> function){
list.forEach(i->{
// 这里只是简单调用传入的方法,要根据自己的业务逻辑进行修改
function.setPaymentAmount(i,amount);
});
}
那么我们就可以调用定义好的方法:
// 获取累计付款
List<String> list = new ArrayList<>();
laborListgetPaymentAmount(list,i->{
// 可以使用lambda 方式写方法
});
这样就可以把方法当作参数进行传递