我正在学习使用,
java.util.function.Function
我写了一个代码,它使用 java Function 将 4 添加到自身,
代码如下,
public class Test01 {
public static void main(String[] args) {
Function<Integer,Integer> addFunction = new Function<Integer,Integer>() {
private int total = 0;
public Integer apply(Integer value) {
this.total += value;
return this.total;
}
};
int finalTotal = addFunction.andThen(addFunction)
.andThen(addFunction)
.andThen(addFunction)
.apply(4);
System.out.println(finalTotal);
}
}
当我运行上面的代码时,我得到的输出是
32
我怎样才能实现我在 javaScript 中所做的事情,如下所示,
var fn19 = function(){
var addNum = function(num){
var fn = function(num2){
fn.sum += num2;
return fn;
};
fn.sum = num;
return fn;
};
print("addNum(3)(4)(3)(10) ==> "+addNum(3)(4)(3)(10).sum);
};
fn19();
上面代码的输出是
addNum(3)(4)(3)(10) ==> 20
我可以有相同类型的 java 函数调用,我可以传递尽可能多的数字参数,并且 addFunction 将添加这些数字。