Junior — Middle
Կարող է լամբդա արտահայտությունը մուտք գործել այն փոփոխականին, որը հայտարարված է այն մեթոդի ներսում, որտեղ այն սահմանված է:
sobes.tech AI
Պատասխան AI-ից
Java- ի մեջ lambda արտահայտությունը կարող է մուտք ունենալ միայն այն տեղական փոփոխականին, որը հայտարարված է մեթոդում, միայն եթե այդ փոփոխականը արդյունավետորեն վերջնական է: Դա նշանակում է, որ սկզբնական արժեքից հետո փոփոխականի արժեքը չի փոխվում:
Օրինակ՝
public void օրինակ() {
int թիվ = 10; // արդյունավետ վերջնական փոփոխական
Runnable r = () -> System.out.printlnթիվ;
r.run();
}
Եթե փորձեք փոխել թիվ-ը lambda- ի սահմանումից հետո, կոմպիլյատորը ցույց կտա սխալ:
Այս սահմանափակումը կապված է այն բանի հետ, որ lambda- ն կարող է գործարկել ավելի ուշ, և Java- ն պահանջում է, որ այդպիսի փոփոխականները լինեն անփոփոխ: