Junior
Javaда лямбда билдирүүлөрү эмне?
sobes.tech AI
AIден жооп
Java-да lambda билдирүүсү анонимдүү функцияларды (аты жок функцияларды) кыскача көрсөтүүнүн жолу. Алар функционалдык интерфейстердин мисалдарын түзүү үчүн колдонулат.
Негизги компоненттер:
- Параметрлердин тизмеси:
()тегерек кыстармалар параметрлердин тизмесин камтыйт. Эгер параметрлер жок болсо, бош кыстармалар колдонулат. - Сүрөт
->: Параметрлердин тизмесин lambdaнын денесинен бөлүп турат. - Денеси: Бир гана билдирүү же коду блоку
{}ичинде болушу мүмкүн.
Параметрлерсиз мисал:
// Функционалдык интерфейс
@FunctionalInterface
interface Greeting {
void sayHello();
}
// Lambda билдирүүсүн колдонуу
Greeting greeting = () -> System.out.println("Hello, World!");
Параметрлүү мисал:
// Функционалдык интерфейс
@FunctionalInterface
interface MathOperation {
int operate(int a, int b);
}
// Lambda билдирүүсүн колдонуу
MathOperation addition = (a, b) -> a + b;
MathOperation subtraction = (a, b) -> {
return a - b;
};
Артыкчылыктары:
- Кыска: boilerplate коддун көлөмүн азайтат.
- Ыңгайлуулук: Stream API менен бирге колдонулуп, коллекциялар менен иштөөгө мүмкүндүк берет.
- Функционалдык программалоо: Javaда функционалдык программалоо элементтерин колдойт.
Чектөөлөр:
- Жай гана функционалдык интерфейстер менен колдонулушу мүмкүн (бир абстракттуу ыкмасы бар интерфейстер).
- Статус болбойт (башкача айтканда, бул өзгөрмөлөрдү алардын контекстинен тышкары өзгөртө албайт, эгер бул өзгөрмөлөр ачык эле final же effectively final деп жарыяланбаса).
Lambda билдирүүлөр Java 8де киргизилген.