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.