Sobes.tech
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де киргизилген.