Lamda funksjoner i Java

Lambda funksjoner er et verktøy for å lage Java mer effektiv. Java er et objektorientert språk. Java-programmerere bruke funksjoner til å modellere virkelige objekter, for eksempel biler, mennesker, bygninger, slik at programmet brukere kan arbeide med, leke med eller forsøk på modellene. Java-funksjoner blir ofte store og komplekse, men Lambda uttrykk forenkle dem.

Java

Java-programmerere har ofte å jobbe med kompliserte objekter, men enkelte objekter er enkel. Et objekt kan gjøre noe, men å kode en funksjon, en datamaskin operasjon som returnerer en value.An operasjon A + B, gitt verdiene to og tre for A og B, vil returnere verdien fem. En lambda uttrykk kalles en anonym funksjon fordi det er en rask, nyttig disponibel verktøy, i stedet for 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 funksjon; dette er fornuftig når lambdaene er så liten at du legger "Return" vil legge vesentlig til lengden på lambda-koden. Programmerere kan neste lambdaene inni hverandre slik at når en Java-funksjonen bruker en lambda uttrykk for å få et resultat, bruker lambda en andre 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 objekttypen de gjelder for er definert av kontekst. Samme uttrykk refererer til forskjellige objekter i forskjellige programmerings situasjoner. Koden kompilatoren vil bruke sammenheng å knytte uttrykket med et mål type. For en lambda å passe en bestemt mål-type, må de deler de samme parametrene. Det gjør det mulig å strippe kode for parameterne fra lambda funksjon og la måltypen definere dem i stedet.

Fordeler

Bestemme navn i anonyme funksjoner og underfunksjoner kan støte på problemer: Hvis et høyere nivå Java funksjonen bruker samme navn på 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 det tolker navn på samme måte funksjonen med den gjør. Lambda funksjoner også gir programmerere mer fleksibilitet som arbeider med Java metoder, slik som sub-rutiner, ved hjelp av en metode som om det var et funksjonelt grensesnitt.