Sobes.tech
Junior

Какви са лямбда изразите в Java?

sobes.tech AI

Отговор от AI

Изразът lambda в Java е анонимна функция, която позволява предаване на блокове код като обекти. Това е компактна начин за реализиране на функционални интерфейси (интерфейси с един абстрактен метод).

Синтаксис на израза lambda:

  • Списък с параметри (може да е празен).
  • Оператор ->.
  • Тяло на израза (може да бъде израз или блок от инструкции).

Примери:

// Lambda за функционалния интерфейс Runnable
Runnable задача = () -> System.out.println("Здравей от lambda!");

// Lambda за функционалния интерфейс Comparator<Integer>
Comparator<Integer> сравнявач = (a, b) -> a.compareTo(b);

// Lambda с тяло от блок инструкции
Consumer<String> поздравител = име -> {
    String съобщение = "Здравей, " + име + "!";
    System.out.println(съобщение);
};

Ключови характеристики:

  • Анонимна: нямат име.
  • Функционални интерфейси: използват се за реализиране на функционални интерфейси.
  • Кратка: позволяват по-компактен код в сравнение с анонимните класове.
  • Заснемане на променливи: могат да заснемат ефективно финални локални променливи от околния контекст.

Използването на lambda изрази подобрява четливостта на кода и улеснява работата с API, ориентирани към функционално програмиране, например с API Stream.