Middle
Ինչ է լամբդա արտահայտությունները Java-ում?
sobes.tech AI
Պատասխան AI-ից
Java-ում λ արտահայտությունը անանուն ֆունկցիա է։ Այն թույլ է տալիս դիտարկել ֆունկցիոնալությունը որպես մեթոդի արգումենտ կամ որպես տվյալների տեսքով կոդ։
Հիմնական հատկանիշները՝
- Անանունություն: Անուն չունի։
- Ֆունկցիոնալ ինտերֆեյս: λ արտահայտությունը միշտ կապված է ֆունկցիոնալ ինտերֆեյսի հետ (մեկ աբստրակտ մեթոդով ինտերֆեյս)։
- Սինտաքսիս:
(պարամետրեր) -> { մարմին }
Օրինակ Consumer ֆունկցիոնալ ինտերֆեյսի հետ օգտագործման:
import java.util.function.Consumer;
// `Consumer<T>` ֆունկցիոնալ ինտերֆեյսը ունի մեկ աբստրակտ մեթոդ accept(T t)
Consumer<String> ողջույն = (անուն) -> {
System.out.println("Ողջույն, " + անուն);
};
օգտագործում.accept("Աշխարհ"); // Արտածում՝ Ողջույն, Աշխարհ
Օրինակ Runnable ինտերֆեյսի հետ օգտագործման:
// `Runnable` ինտերֆեյսը ունի մեկ աբստրակտ մեթոդ run()
Runnable գործ = () -> {
System.out.println("Գործը կատարվում է առանձին թելում");
};
new Thread(գործ).start(); // Սկսում է գործը նոր թելում
Սինտաքսիսի տարբերակներ՝
- Բանանց չլինել:
() -> { System.out.println("Ողջույն"); } - Մի պարամետր առանց կետակետերի:
անուն -> System.out.println("Ողջույն, " + անուն) - Բազմապարամետրային պարամետրեր կետակետերով և տիպերով:
(int a, int b) -> { return a + b; } - Բազմապարամետրային պարամետրեր առանց տիպերի (տիպի ենթադրություն):
(a, b) -> a + b - Մի տողով մարմին առանց
return:(a, b) -> a + b - Բազմատող մարմիններ կետակետերով և
return-ով (եթե անհրաժեշտ է):(a, b) -> { int գումար = a + b; return գումար; }
Lambda արտահայտությունները կոդը դարձնում են ավելի կարճ, ընթեռնելի և թույլ են տալիս օգտագործել ֆունկցիոնալ ծրագրավորում Java-ում։