Junior
Какви са лямбда изразите в Java?
sobes.tech AI
Отговор от AI
Изразът lambda в Java е кратък начин за представяне на анонимни функции (функции без име). Те се използват за създаване на екземпляри на функционални интерфейси.
Основни компоненти:
- Списък с параметри: Кръглите скоби
()съдържат списък с параметри. Ако няма параметри, се използват празни скоби. - Стрелка
->: Отделя списъка с параметри от тялото на лямбда израза. - Тяло: Може да бъде едно изразяване или блок от код в фигурни скоби
{}.
Пример без параметри:
// Функционален интерфейс
@FunctionalInterface
interface Greeting {
void sayHello();
}
// Използване на лямбда израз
Greeting greeting = () -> System.out.println("Hello, World!");
Пример с параметри:
// Функционален интерфейс
@FunctionalInterface
interface MathOperation {
int operate(int a, int b);
}
// Използване на лямбда израз
MathOperation addition = (a, b) -> a + b;
MathOperation subtraction = (a, b) -> {
return a - b;
};
Предимства:
- Краткост: Намалява обема на шаблонния код.
- Удобство: Използва се заедно с API Stream за обработка на колекции.
- Функционално програмиране: Поддържа елементи на функционално програмиране в Java.
Ограничения:
- Могат да се използват само с функционални интерфейси (интерфейси с един абстрактен метод).
- Не могат да имат състояние (т.е. не могат да променят променливи извън техния контекст, ако тези променливи не са явно обявени като final или ефективно final).
Лямбда изразите бяха въведени в Java 8.