funzioni lambda sono uno strumento per rendere più efficiente Java . Java è un linguaggio orientato agli oggetti . I programmatori Java utilizzano funzioni di modellare oggetti del mondo reale , come le automobili , persone , edifici, in modo che gli utenti del programma possono lavorare, giocare o esperimento sui modelli . Funzioni Java spesso diventano grandi e complesse , ma le espressioni lambda li semplificano . Java
programmatori Java devono spesso lavorare con oggetti complicati , ma alcuni oggetti sono semplici . Un oggetto può fare altro che codificare una funzione , un funzionamento del computer che restituisce una operazione value.An A + B , dati i valori a due e tre per la A e la B , potrebbe restituire il valore di cinque. Un'espressione lambda si chiama una funzione anonima perché è una , utile , strumento monouso veloce , piuttosto che una più complessa , funzione formalmente nominato.
Lambda
programmatori scrivono lambda utilizzando meno codice rispetto ad altre funzioni anonime . Alcune espressioni lambda sono scritte in modo che essi dispensano , anche con "Return ", la direttiva che restituisce il risultato della funzione , questo ha un senso quando le espressioni lambda sono così piccoli che l'aggiunta di " ritorno" aggiungerebbe sostanzialmente alla lunghezza della lambda codice . I programmatori possono lambda nido all'interno vicenda in modo che quando una funzione Java utilizza un'espressione lambda per ottenere un risultato , la lambda utilizza una seconda lambda a fare parte del lavoro .
Bersaglio Typing
differenza di alcune funzioni , funzioni lambda non definiscono in modo specifico un particolare oggetto. Invece , il tipo di oggetto si applicano a è definito dal contesto. La stessa espressione si riferisce a diversi oggetti in diverse situazioni di programmazione . Il codice compilatore utilizzerà il contesto per associare l' espressione con un tipo di destinazione . Per una lambda per adattarsi a un particolare tipo di destinazione , devono condividere gli stessi parametri . Questo rende possibile mettere a nudo il codice per i parametri della funzione di lambda e lasciare che il tipo di destinazione definiscono loro, invece .
Vantaggi
nomi determinante nelle funzioni anonime e sub- funzioni può incorrere in problemi : Se una funzione Java di livello superiore utilizza lo stesso nome di un altro modo , avrà la precedenza sul modo in cui si intende la funzione anonima per interpretarlo . Questo non è un problema con le espressioni lambda perché interpreta i nomi nello stesso modo la funzione utilizzando lo fa . Funzioni lambda anche dare ai programmatori una maggiore flessibilità di lavoro con metodi Java, come sub- routine , utilizzando un metodo come se fosse una interfaccia funzionale .