Sobes.tech
Junior

Java-da lambda ifadələri nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Java-da lambda ifadəsi, anonim funksiyaları (ad olmadan funksiyalar) qısa şəkildə ifadə etmək üçün yoldur. Onlar funksional interfeyslərin nümunələrini yaratmaq üçün istifadə olunur.

Əsas komponentlər:

  • Parametrlər siyahısı: () mötərizələri parametrlər siyahısını ehtiva edir. Əgər parametr yoxdursa, boş mötərizələr istifadə olunur.
  • Ox ->: Parametrlər siyahısını lambda bədənindən ayırır.
  • Bədən: Yeganə ifadə və ya mötərizələr `{}` içində kod bloku ola bilər.
    

Parametrsiz nümunə:

// Funksional interfeys
@FunctionalInterface
interface Greeting {
    void sayHello();
}

// Lambda ifadəsinin istifadəsi
Greeting greeting = () -> System.out.println("Hello, World!");

Parametrli nümunə:

// Funksional interfeys
@FunctionalInterface
interface MathOperation {
    int operate(int a, int b);
}

// Lambda ifadəsinin istifadəsi
MathOperation addition = (a, b) -> a + b;
MathOperation subtraction = (a, b) -> {
    return a - b;
};

Üstünlüklər:

  • Qısalığı: Boilerplate kodun miqdarını azaldır.
  • Rahaty: Koleksiyaların işlənməsində Stream API ilə birlikdə istifadə olunur.
  • Funksional proqramlaşdırma: Java-da funksional proqramlaşdırma elementlərini dəstəkləyir.

Məhdudiyyətlər:

  • Yalnız funksional interfeyslərlə istifadə oluna bilər (bir abstrakt metod olan interfeyslər).
  • Vəziyyətə malik ola bilməz (yəni, bu dəyişənləri kontekstindən xaricdə dəyişdirə bilməz, əgər bu dəyişənlər açıq şəkildə final və ya effektiv final kimi elan edilməyibsə).

Lambda ifadələri Java 8-də təqdim olunmuşdur.