Sobes.tech
Middle

Kas yra lambda išraiškos Java?

sobes.tech AI

Atsakymas iš AI

Lambda išraiška Java yra anonimė funkcija. Ji leidžia laikyti funkcionalumą kaip metodo argumentą arba kaip kodą kaip duomenis.

Pagrindinės savybės:

  • Anonimiškumas: Neturi vardo.
  • Funkcinis interfeisas: Lambda išraiška visada susijusi su funkcinio interfeiso (interfeiso su viena abstrakčia metoda).
  • Sintaksė: (parametrai) -> { kūnas }

Pavyzdys naudojant su funkcinio interfeiso Consumer:

import java.util.function.Consumer;

// Funkcinis interfeisas `Consumer<T>` turi vieną abstraktų metodą accept(T t)
Consumer<String> pasisveikinimas = (vardas) -> {
    System.out.println("Sveiki, " + vardas);
};

pasisveikinimas.accept("Pasauli"); // Išvestis: Sveiki, Pasauli

Pavyzdys naudojant su interfeisu Runnable:

// Interfeisas `Runnable` turi vieną abstraktų metodą run()
Runnable užduotis = () -> {
    System.out.println("Užduotis vykdoma atskirame sraute");
};

new Thread(uzduotis).start(); // Pradeda užduotį naujame sraute

Sintaksės variacijos:

  • Be parametrų: () -> { System.out.println("Sveiki"); }
  • Vienas parametras be skliaustelių: vardas -> System.out.println("Sveiki, " + vardas)
  • Keletas parametrų su skliausteliais ir tipais: (int a, int b) -> { return a + b; }
  • Keletas parametrų be tipų (tipų išvedimas): (a, b) -> a + b
  • Vienos eilutės kūnas be return: (a, b) -> a + b
  • Daugiaeilutės kūnas su skliaustais ir return (jei reikia): (a, b) -> { int suma = a + b; return suma; }

Lambda išraiškos daro kodą kompaktiškesnį, skaitomą ir leidžia naudoti funkcionalų programavimą Java.