Junior
Kas ir lambda izteiksmes Java?
sobes.tech AI
Atbilde no AI
Lambda izteiksme Java ir valda anonīma (bez nosaukuma) funkcija, kas īsteno funkcionālo interfeisu.
Galvenās īpašības:
- Tās nav ar nosaukumu.
- Tās var būt ar parametriem.
- Tēls var sastāvēt no viena izteiksmes vai operatoru bloka.
- Atgriešanas tips nav norādīts (automātiski tiek secināts).
- Tie ir nepieciešami funkcionālai programmēšanai un plūsmu (Streams API) darbam.
Sintakse:
// Bez parametriem
() -> { // tēls }
// Ar vienu parametru (tips var tikt izlaists)
param -> izteiksme
// Ar vairākiem parametriem (tips var tikt izlaists, nepieciešamas iekavas)
(param1, param2) -> { // tēls }
Piemērs:
// Funkcionālais interfeiss (iebūvēts)
import java.util.function.Consumer;
// Ar lambda realizācija
Consumer<String> drukātājs = s -> System.out.println(s);
drukātājs.accept("Sveika pasaule!");
// Izmanto metodē, kas pieņem funkcionālo interfeisu
import java.util.Arrays;
import java.util.List;
List<Integer> skaitļi = Arrays.asList(1, 2, 3, 4, 5);
skaitļi.forEach(n -> System.out.println(n)); // forEach pieņem Consumer
Priekšrocības:
- Saīsināts kods.
- Uzlabota lasāmība (vienkāršos gadījumos).
- Iespēja izmantot funkcionālo programmēšanu.
- Vienkāršo darbu ar kolekcijām un daudzšāvu apstrādi.
Ierobežojumi:
- Iekapsēti vai gari lambda izteiksmes var būt grūti saprotami.
- Nav stāvokļa (nav iespējams būt lauka objektiem).