📅  最后修改于: 2023-12-03 15:27:20.208000             🧑  作者: Mango
在Java中,函数也可以作为参数传递给其他函数,这种函数作为参数的方式称为高阶函数。其中,函数<Integer, Integer>
表示接收一个整型参数,返回一个整型结果的函数类型。
以下是一个使用高阶函数的例子:
private static void calcola(int i, 函数<Integer, Integer> fn) {
int r = 0;
for (int j = i; j > 0; j--) {
r = fn.apply(r);
}
System.out.println(r);
}
calcola(9, (p) -> { return p + 1; });
上述代码中,calcola
函数接收两个参数:一个整数i
,一个函数fn
。其中,fn
是一个接收一个整数参数,返回一个整数结果的函数。函数calcola
内部使用循环调用fn
,最终将计算出的结果打印输出。
在上述例子中,我们使用了Java 8中的Lambda表达式作为函数参数。具体来说,Lambda表达式(p) -> { return p + 1; }
定义了一个函数,接收一个整数p
,将p+1
作为结果返回。这个Lambda表达式被传递给calcola
函数,作为其第二个参数fn
。
总的来说,函数作为参数是Java 8带来的新功能之一,它可以帮助我们更方便地编写复杂的算法和逻辑,提高代码的可读性和可维护性。