Sobes.tech
Junior

Kas yra lambda išraiškos Java?

sobes.tech AI

Atsakymas iš AI

Lambda išraiška Java yra glaustas būdas vaizduoti anonimines funkcijas (be vardo funkcijas). Jos naudojamos kuriant funkcinių interfeisų pavyzdžius.

Pagrindiniai komponentai:

  • Parametrų sąrašas: Skritulinės skliaustelės () apima parametrų sąrašą. Jei parametrų nėra, naudojami tušti skliausteliai.
  • Rodyklė ->: Atskiria parametrų sąrašą nuo lambda kūno.
  • Kūnas: Gali būti vienas išraiška arba kodo blokas `{}`.
    

Pavyzdys be parametrų:

// Funkcinis interfeisas
@FunctionalInterface
interface Greeting {
    void sayHello();
}

// Lambda išraiškos naudojimas
Greeting greeting = () -> System.out.println("Hello, World!");

Pavyzdys su parametrais:

// Funkcinis interfeisas
@FunctionalInterface
interface MathOperation {
    int operate(int a, int b);
}

// Lambda išraiškos naudojimas
MathOperation addition = (a, b) -> a + b;
MathOperation subtraction = (a, b) -> {
    return a - b;
};

Privalumai:

  • Trumpumas: Sumažina boilerplate kodo kiekį.
  • Patogumas: Naudojama kartu su Stream API kolekcijų apdorojimui.
  • Funkcinis programavimas: Palaiko funkcinių programavimo elementus Java.

Apribojimai:

  • Gali būti naudojama tik su funkcinių interfeisų (vieno abstraktaus metodo interfeisų).
  • Negali turėti būsenos (t.y., negali keisti išorinių kintamųjų, jei šie kintamieji nėra aiškiai deklaruoti kaip final arba efektyviai final).

Lambda išraiškos buvo įvestos Java 8.