Lambda funktioner er et redskab til at gøre Java mere effektiv. Java er et objekt- orienterede sprog . Java-programmører bruge funktioner til model virkelige verden objekter, såsom biler, mennesker , bygninger, således at brugerne af programmet kan arbejde med , lege med eller eksperimentere på modellerne . Java -funktioner bliver ofte store og komplekse, men Lambda udtryk forenkle dem. Java
Java programmører ofte nødt til at arbejde med komplicerede objekter, men nogle objekter er enkle. Et objekt kan gøre noget, men indkode en funktion , et edb-drift , der returnerer en value.An operation A + B, angivne værdier to og tre for A og B, ville returnere værdien fem. En lambda udtryk kaldes en anonym funktion, fordi det er en hurtig , nyttig , engangs værktøj , snarere end en mere kompleks formelt opkaldt funktion.
Lambdas
Programmører skriver lambdas bruger mindre kode end andre anonyme funktioner. Nogle lambdas er skrevet, så de selv undvære "Return ", direktivet, der returnerer resultatet af funktionen , hvilket giver mening, når lambdas er så små , at tilføje "Return" vil føje væsentligt til længden af lambda kode . Programmører kan indlejre lambdas inden i hinanden , så når en Java -funktion bruger en lambda udtryk for at få et resultat, lambda bruger en anden lambda til at gøre en del af arbejdet .
Target Typing < br >
modsætning til nogle funktioner , behøver lambda -funktioner ikke specifikt definere et bestemt objekt . I stedet er objekttypen de gælder for defineret af kontekst. Det samme udtryk refererer til forskellige objekter i forskellige programmeringssprog situationer. Koden compiler vil bruge den sammenhæng at associere udtryk med et mål type. For en lambda passer til et bestemt mål type skal de deler de samme parametre . Det gør det muligt at fratage kode for parametre fra lambda -funktionen og lad måltypen definere dem i stedet.
Fordele
Fastlæggelse navne i anonyme funktioner og sub- funktioner kan løbe ind i problemer: Hvis et højere niveau Java funktionen bruger det samme navn på en anden måde , vil det tilsidesætte den måde du havde tænkt dig den anonyme funktion til at fortolke den. Det er ikke et problem med en lambda- udtryk , fordi den fortolker navne på samme måde funktionen med det gør. Lambda -funktioner også give programmører større fleksibilitet arbejder med Java- metoder, såsom sub- rutiner , ved hjælp af en metode , som om det var en funktionel brugerflade.