Lambda funktioner är ett verktyg för att göra Java mer effektiv . Java är ett objektorienterat språk . Java programmerare använder funktioner till modell verkliga objekt , såsom bilar, människor , byggnader, så att programmets användare kan arbeta med , leka med eller experiment på modellerna . Java-funktioner blir ofta stora och komplexa , men Lambda uttryck förenkla dem . Java
Java programmerare måste ofta arbeta med komplicerade objekt , men vissa objekt är enkla . Ett objekt kan inte göra någonting utan koda en funktion , en dator operation som returnerar en value.An operation A + B, givet värden två och tre för A och B , skulle returnera värdet fem . En lambda uttryck kallas en anonym funktion eftersom det är ett snabbt , nyttigt , disponibel verktyg , snarare än en mer komplex , formellt heter funktionen .
Lambdas
Programmerare skriver lambdas med mindre kod än andra anonyma funktioner . Vissa lambdas är skrivna så att de även undvara " Return " direktivet som returnerar resultatet av funktionen , vilket är logiskt när lambdas är så små att lägga " Return " skulle lägga betydligt till längden av lambda kod. Programmerare kan kapsla lambdas inuti varandra så att när ett Java- funktion använder en lambda uttryck för att få ett resultat , använder lambda en andra lambda att göra en del av arbetet .
Target Typing
skillnad från vissa funktioner , inte lambda fungerar inte specifikt definierar ett visst objekt . Istället objekttypen de gäller definieras av sammanhanget . Samma uttryck refererar till olika objekt i olika programmeringsspråk situationer . Koden kompilatorn kommer att använda sammanhanget för att associera uttrycket med ett mål typ . För en lambda att passa ett visst mål typ , måste de dela samma parametrar . Det gör det möjligt att skala kod för parametrar från lambda -funktionen och låt målet typen definiera dem istället .
Fördelar
Bestämma namn i anonyma funktioner och delfunktioner kan stöta på problem : Om en högre nivå Java funktionen använder samma namn på olika sätt , kommer det att åsidosätta det sätt du tänkt att anonym funktion att tolka det . Det är inte ett problem med ett lambda- uttryck eftersom den tolkar namn på samma sätt funktionen använder den gör . Lambda funktioner ger också programmerare större flexibilitet att arbeta med Java metoder , såsom sub - rutiner , genom att använda en metod som om det vore ett funktionellt gränssnitt .