Sobes.tech
Junior — Middle

Lambda ifadesi, tanımlandığı metodun içinde ilan edilen bir değişkene erişebilir mi?

sobes.tech yapay zeka

AI'dan gelen yanıt

Java'da lambda ifadesi, bir yöntemde tanımlanan yerel bir değişkene yalnızca bu değişken etkili olarak son ise erişebilir. Bu, değişkenin ilk değer atamasından sonra değerinin değişmediği anlamına gelir.

Örnek:

public void ornek() {
    int sayi = 10; // etkili olarak son değişken
    Runnable r = () -> System.out.println(sayi);
    r.run();
}

Eğer lambda tanımından sonra sayi'yi değiştirmeye çalışırsanız, derleyici hata verir.

Bu kısıtlama, lambda'nın daha sonra çalıştırılabileceği gerçeğiyle ilgilidir ve değiştirilebilir durum sorunlarını önlemek için Java, bu tür değişkenlerin değiştirilemez olmasını ister.