Junior
Java'da lambda ifadeleri nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Java'da lambda ifadesi, anonim fonksiyonları (isimsiz fonksiyonlar) kısa yoldan temsil etmenin bir yoludur. Fonksiyonel arayüzlerin örneklerini oluşturmak için kullanılırlar.
Ana bileşenler:
- Parametre listesi: Parantezler
()parametre listesini içerir. Parametre yoksa, boş parantezler kullanılır. - Ok
->: Parametre listesini lambda gövdesinden ayırır. -
Gövde: Tek bir ifade veya süslü parantez `{}` içinde bir kod bloğu olabilir.
Parametresiz örnek:
// Fonksiyonel arayüz
@FunctionalInterface
interface Greeting {
void sayHello();
}
// Lambda ifadesi kullanımı
Greeting greeting = () -> System.out.println("Hello, World!");
Parametreli örnek:
// Fonksiyonel arayüz
@FunctionalInterface
interface MathOperation {
int operate(int a, int b);
}
// Lambda ifadesi kullanımı
MathOperation addition = (a, b) -> a + b;
MathOperation subtraction = (a, b) -> {
return a - b;
};
Avantajlar:
- Kısalık: Boilerplate kod miktarını azaltır.
- Kullanışlılık: Koleksiyonların işlenmesinde Stream API ile birlikte kullanılır.
- Fonksiyonel programlama: Java'da fonksiyonel programlama öğelerini destekler.
Kısıtlamalar:
- Sadece fonksiyonel arayüzlerle kullanılabilirler (bir tane soyut metoda sahip arayüzler).
- Durumları olamaz (yani, bu değişkenleri açıkça final veya etkili final olarak bildirilmedikçe, bağlamlarının dışındaki değişkenleri değiştiremezler).
Lambda ifadeleri Java 8 ile tanıtılmıştır.