Expresiones recursivas lambda
Java
998 visualizaciones desde el 18 de Enero del 2021
Expresiones recursivas lambda.
@SuppressWarnings({ "rawtypes", "unchecked" })
public static Function<Integer, Function<Integer, Function>> myPowerTriFunction = x -> y -> f -> y == 0 ? 1 : x * (Integer) ((Function<Integer, Function<Integer, Function>>) f).apply(x).apply(y - 1).apply(f);
@SuppressWarnings("unchecked")
public static BiFunction<Integer, Integer, Integer> myPowerBiFunction = (x, y) -> (Integer) myPowerTriFunction.apply(x).apply(y).apply(myPowerTriFunction);
public static void main(String[] args) {
System.out.println(myPowerBiFunction.apply(3, 5)); // prints 243
System.out.println(myPowerBiFunction.apply(4, 6)); // prints 4096
}
Comentarios sobre la versión: 1.0 (0)
No hay comentarios