Junior
Ի՞նչ են լամբդա արտահայտությունները Java-ում։
sobes.tech AI
Պատասխան AI-ից
Java-յի lambda արտահայտությունը անանուն (անունով չլինող) ֆունկցիա է, որը իրականացնում է ֆունկցիոնալ ինտերֆեյս:
Հիմնական հատկանիշներ՝
- Անուն չունի:
- Կարող է ունենալ պարամետրեր:
- Թաղանթը կարող է կազմված լինել մեկ արտահայտությունից կամ հրահանգների բլոկից:
- Վերադարձի տիպը նշված չէ (ավտոմատ կերպով ենթադրվում է):
- Անհրաժեշտ է ֆունկցիոնալ ծրագրավորման և հոսքերի (Streams API) աշխատանքի համար:
Սինտաքսիս:
// Պարամետրեր չլինելով
() -> { // մարմին }
// Մի պարամետրով (տիպը կարող է բաց թողնվել)
param -> արտահայտություն
// Մի քանի պարամետրով (տիպը կարող է բաց թողնվել, անհրաժեշտ են փակագծեր)
(param1, param2) -> { // մարմին }
Օգտագործման օրինակ՝
// Ֆունկցիոնալ ինտերֆեյս (ներգործածված)
import java.util.function.Consumer;
// Lambda-ով իրականացում
Consumer<String> տպիչ = s -> System.out.println(s);
տպիչ.accept("Բարև աշխարհ!");
// Օգտագործում ֆունկցիոնալ ինտերֆեյսը ընդունող մեթոդում
import java.util.Arrays;
import java.util.List;
List<Integer> թվեր = Arrays.asList(1, 2, 3, 4, 5);
tվեր.forEach(n -> System.out.println(n)); // forEach ընդունում է Consumer
Առավելություններ՝
- Կոդը ավելի կարճ:
- Բարելավված ընթերցելիություն (հեշտ դեպքերում):
- Հնարավորություն ֆունկցիոնալ ծրագրավորում օգտագործելու:
- Պարզեցնում է հավաքածուների և բազմաթելային աշխատանքը:
Հատկանշական՝
- Ներքաշված կամ երկար lambda-ները կարող են դժվար հասկանալ:
- Չեն ունենում վիճակ (չեն կարող ունենալ օրինակային դաշտեր):