Lambda funksjoner er et verktøy for å gjøre Java mer effektiv. Java er et objektorientert språk . Java-programmerere bruke funksjoner til modell virkelige objekter , for eksempel biler , mennesker , bygninger, slik at brukere av programmet kan arbeide med , leke med eller eksperimentere på modellene . Java-funksjoner ofte blir store og komplekse , men Lambda uttrykk forenkle dem . Java
Java-programmerere ofte nødt til å jobbe med kompliserte objekter , men enkelte objekter er enkle. Et objekt kan gjøre noe, men kode en funksjon, en datamaskin operasjon som returnerer en value.An operasjon A + B, gitte verdier to og tre for A og B , vil returnere verdien fem. En lambda uttrykk kalles en anonym funksjon fordi det er en rask , nyttig , engangs verktøy , snarere enn en mer kompleks , formelt kalt funksjon .
Lambdaene
programmerere skrive lambdaene bruker mindre kode enn andre anonyme funksjoner. Noen lambdaene er skrevet slik at de selv dispensere med "Return ", direktivet som returnerer resultatet av funksjonen , og dette er fornuftig når lambdaene er så små at å legge "Return" ville legge vesentlig til lengden på lambda kode . Programmerere kan neste lambdaene inni hverandre slik at når en Java -funksjon bruker en lambda uttrykk for å få et resultat , bruker lambda en annen lambda å gjøre en del av arbeidet.
Target Typing
I motsetning til enkelte funksjoner , trenger lambda -funksjoner ikke spesifikt definere et bestemt objekt . I stedet er objekttypen de gjelder definert av kontekst. Det samme uttrykket refererer til forskjellige objekter i ulike programmeringsspråk situasjoner . Koden kompilatoren vil bruke kontekst for å knytte uttrykket med en target type. For en lambda å passe et spesielt mål type, må de deler de samme parametrene. Det gjør det mulig å strippe kode for parametere fra lambda funksjonen og la måltypen definere dem i stedet .
Fordeler
Bestemme navn i anonyme funksjoner og sub- funksjoner kan får problemer : Hvis et høyere nivå Java -funksjonen bruker samme navn en annen måte , vil det overstyre den måten du hadde tenkt den anonyme funksjonen til å tolke den. Det er ikke et problem med en lambda- uttrykk fordi den tolker navn på samme måte funksjonen med den gjør. Lambda funksjoner også gi programmerere mer fleksibilitet arbeider med Java- metoder, for eksempel sub - rutiner , ved å bruke en metode som om det var en funksjonell grensesnitt.