Sobes.tech
Junior — Middle

Lambda ifadəsi, təyin olunduğu metod daxilində elan edilmiş dəyişənə daxil ola bilərmi?

sobes.tech Süni İntellekt

AI-dan cavab

Java-da lambda ifadəsi, metodda elan olunan yerli dəyişkənə yalnız bu dəyişkən effektiv olaraq son isə daxil ola bilər. Bu, dəyişkənin ilkinləşdirildikdən sonra dəyərinin dəyişmədiyi anlamına gəlir.

Nümunə:

public void nümunə() {
    int nömrə = 10; // effektiv olaraq son dəyişkən
    Runnable r = () -> System.out.println(nömrə);
    r.run();
}

Əgər lambda-dan sonra nömrəni dəyişməyə çalışsanız, tərtibçi xəta verəcək.

Bu məhdudiyyət, lambda-nın daha sonra icra oluna biləcəyi və dəyişkən vəziyyət problemlərindən qaçınmaq üçün Java-nın bu cür dəyişkənlərin dəyişməz olmasını tələb etməsiylə əlaqədardır.