Verificamos de forma profundamente cada posts en nuestro sitio web con el objetivo de enseñarte siempre información más veraz y actualizada.
Solución:
Utilizar Supplier
si no toma nada, pero devuelve algo.
Utilizar Consumer
si toma algo, pero no devuelve nada.
Utilizar Callable
si devuelve un resultado y podría arrojar (más similar a Thunk
en términos generales de CS).
Utilizar Runnable
si no lo hace y no puede tirar.
La sintaxis que busca es posible con una pequeña función auxiliar que convierte un Runnable
dentro Action
(puedes colocarlo en Action
por ejemplo):
public static Action action(Runnable runnable)
return (v) ->
runnable.run();
return null;
;
// Somewhere else in your code
Action action = action(() -> System.out.println("foo"));
Creo que esta tabla es corta y útil:
Supplier () -> x
Consumer x -> ()
Callable () -> x throws ex
Runnable () -> ()
Function x -> y
BiFunction x,y -> z
Predicate x -> boolean
UnaryOperator x1 -> x2
BinaryOperator x1,x2 -> x3
Como se dijo en las otras respuestas, la opción apropiada para este problema es una Runnable
Aquí puedes ver las comentarios y valoraciones de los lectores
Eres capaz de añadir valor a nuestra información cooperando tu veteranía en las interpretaciones.