¿Como puedo implementar una funcion recursiva en una expresion lambda de Java?

Iniciado por 4dr14n31t0r, 8 Diciembre 2015, 01:00 AM

0 Miembros y 1 Visitante están viendo este tema.

4dr14n31t0r

Código (java) [Seleccionar]
//La interfaz funcional

package test;

public interface Interface {

int factorial(int x);

}

Código (java) [Seleccionar]
//La clase que utiliza la expresion lambda

package test;

public class Test {

public static void main(String... args){
((Interface) x -> x == 1 ? 1 : x*factorial(x-1)).factorial(7); //No compila (busca la funcion en la clase Test).
((Interface) x -> x == 1 ? 1 : x*this.factorial(x-1)).factorial(7); //No compila (el puntero this apunta a un objeto de la clase Test).
}

}