typestar

Lambdas en Java

Funciones como valores, a través de interfaces de un solo método.

import java.util.function.Function;
import java.util.function.Predicate;

// una lambda implementa una interfaz de un solo método
Function<Integer, Integer> square = x -> x * x;
Predicate<String> isLong = s -> s.length() > 5;

System.out.println(square.apply(9));
System.out.println(isLong.test("keyboard"));

// las referencias a métodos nombran un método existente como implementación
Function<String, Integer> len = String::length;
System.out.println(len.apply("typestar"));
System.out.println(square.andThen(square).apply(2));

Cómo funciona

  1. Function y Predicate son las formas que toman casi todas las lambdas.
  2. x -> x * x implementa la interfaz sin una clase.
  3. String::length nombra un método existente como la implementación.

El intento, en números

Líneas
14
Caracteres a escribir
530
Tokens
118
Ritmo de tres estrellas
85 tpm

Al ritmo de tres estrellas de 85 tokens por minuto, este intento toma unos 83 segundos.

Escribe este fragmento

Paso 2 de 3 en Métodos y lambdas; paso 16 de 29 en Fundamentos del lenguaje.

← Anterior Siguiente →

Lambdas en otros lenguajes