AD

¿Ya dominas lo básico? Un curso estructurado de Java es la vía rápida para dar el salto.

Ver cursos de Java en Udemy

Enlace de afiliado. No te cuesta nada extra.

Lecciones de Java
Lección 29 / 68

Funciones de orden superior (pasar una función como argumento)

En esta lección pasarás un comportamiento, y no solo un dato, a un método.

Desde Java 8 se usan las lambdas: (x) -> x * 2. Se guardan en interfaces funcionales como Function, Predicate o Consumer.

El código de ejemplo aplica una operación recibida como argumento.

Lo que hay que saber es que una lambda es, por debajo, la implementación de una interfaz con un único método abstracto. Por eso funciona en cualquier sitio donde se espere una de esas interfaces, y por eso existen tantas con nombres específicos en java.util.function.

Existe también la referencia a método, String::toUpperCase, que es una lambda que solo llama a un método existente. Se lee mejor y es la forma preferida cuando encaja. Todo esto llegó en 2014 y cambió bastante el estilo del Java que se escribe hoy.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar Java directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)