Sobes.tech
Junior

Šta su lambda izrazi u Javi?

sobes.tech АИ

Одговор од АИ

Izraz lambda u Javi je anonimna funkcija koja omogućava prenošenje blokova koda kao objekata. To je kompaktan način implementacije funkcionalnih interfejsa (interfejsa sa jednom apstraktnom metodom).

Sintaksa lambda izraza:

  • Lista parametara (može biti prazna).
  • Operator ->.
  • Tela izraza (može biti izraz ili blok instrukcija).

Primeri:

// Lambda za funkcionalni interfejs Runnable
Runnable zadatak = () -> System.out.println("Zdravo iz lambda!");

// Lambda za funkcionalni interfejs Comparator<Integer>
Comparator<Integer> poređenje = (a, b) -> a.compareTo(b);

// Lambda sa telom od bloka instrukcija
Consumer<String> pozdrav = ime -> {
    String poruka = "Zdravo, " + ime + "!";
    System.out.println(poruka);
};

Ključne osobine:

  • Anonimno: nemaju ime.
  • Funkcionalni interfejsi: koriste se za implementaciju funkcionalnih interfejsa.
  • Kompaktno: omogućavaju pisanje kraćeg koda u poređenju sa anonimnim klasama.
  • Hvatanje promenljivih: mogu da uhvate efektivno finalne lokalne promenljive iz okruženja.

Korišćenje lambda izraza poboljšava čitljivost koda i pojednostavljuje rad sa API-jem usmerenim na funkcionalno programiranje, na primer, sa API-jem Stream.