que - java 8 lambdas pdf
Método de paso Java 8 como parámetro (2)
Realmente no importa; Runnable
lo hará.
Consumer<Void>,
Supplier<Void>,
Function<Void, Void>
Actualmente ingresando a Java 8 expresiones lambda y referencias de métodos.
Quiero pasar un método sin args y sin valor de retorno como argumento para otro método. Así es como lo estoy haciendo:
public void one() {
System.out.println("one()");
}
public void pass() {
run(this::one);
}
public void run(final Function function) {
function.call();
}
@FunctionalInterface
interface Function {
void call();
}
Sé que hay un conjunto de interfaces funcionales predefinidas en la función java.util.function
como Function<T,R>
pero no encontré ninguna sin argumentos y no producía un resultado.
También puedes pasar lambda así:
public void pass() {
run(()-> System.out.println("Hello world"));
}
public void run(Runnable function) {
function.run();
}
De esta forma, estás pasando lambda directamente como método.