我們可以在創(chuàng)建遞歸lambda表達式時使用方法引用。
以下代碼以正常方式創(chuàng)建遞歸函數(shù),然后使用遞歸函數(shù)作為方法引用來創(chuàng)建lambda表達式。最后的lambda表達式成為遞歸。
import java.util.function.IntFunction; public class Main { public static void main(String[] args) { IntFunction<Long> factorialCalc = Main::factorial; System.out.println(factorialCalc.apply(10)); } public static long factorial(int n) { if (n == 0) { return 1; } else { return n * factorial(n - 1); } } }
上面的代碼生成以下結(jié)果。
更多建議: