Sobes.tech
Junior

Java'da lambda ifadeleri nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Java'da lambda ifadesi, fonksiyonel arayüzü uygulayan anonim (isimsiz) bir fonksiyondur.

Ana özellikler:

  • İsmi yoktur.
  • Parametreler alabilir.
  • Gövde tek bir ifade veya bir dizi işlem bloğundan oluşabilir.
  • Dönüş tipi belirtilmez (otomatik olarak çıkarılır).
  • Fonksiyonel programlama ve akışlar (Streams API) ile çalışma için gereklidir.

Sözdizimi:

// Parametre olmadan
() -> { // gövde }

// Bir parametre ile (tip atlanabilir)
param -> ifade

// Birden fazla parametre ile (tip atlanabilir, parantez gerekir)
(param1, param2) -> { // gövde }

Kullanım örneği:

// Fonksiyonel arayüz (yerleşik)
import java.util.function.Consumer;

// Lambda ile uygulama
Consumer<String> yazici = s -> System.out.println(s);
yazici.accept("Merhaba Dünya!");

// Fonksiyonel arayüzü kabul eden bir metodda kullanım
import java.util.Arrays;
import java.util.List;

List<Integer> sayilar = Arrays.asList(1, 2, 3, 4, 5);
sayilar.forEach(n -> System.out.println(n)); // forEach, Consumer kabul eder

Avantajlar:

  • Daha özlü kod.
  • Basit durumlarda okunabilirliği artırır.
  • Fonksiyonel programlama kullanma imkanı sağlar.
  • Koleksiyonlar ve çoklu iş parçacığı ile çalışmayı basitleştirir.

Kısıtlamalar:

  • İç içe veya uzun lambdalar anlaşılması zor olabilir.
  • Durumları yoktur (örnek alanları olamaz).