Saltar al contenido

Argumento vacío de Java 8 lambda

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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *