Sobes.tech
Junior — Middle

Lambda билдирүүсү аныкталган ыкмадан ички өзгөрмөгө кирүүгө мүмкүнбү?

sobes.tech AI

AIден жооп

Javaда lambda билдирүүсү, методдо жарыяланган жергиликтүү өзгөрмөгө гана кире алат, эгер ал өзгөрмө эффективдүү финалдык болсо. Бул өзгөрмөнүн баштапкы баасынан кийин анын мааниси өзгөрбөйт дегенди билдирет.

Мисал:

public void мисал() {
    int сан = 10; // эффективдүү финалдык өзгөрмө
    Runnable r = () -> System.out.println(сан);
    r.run();
}

Эгер lambda аныкталгандан кийин санды өзгөртүүгө аракет кылсаңыз, компилятор ката чыгарат.

Бул чектөө, lambda кийинки учурда ишке ашырылышы мүмкүн экендигине байланыштуу, жана өзгөрмө абалдарынын көйгөйлөрүн алдын алуу үчүн, Java мындай өзгөрмөлөрдүн өзгөргүс болушун талап кылат.