Lambda -Funktionen sind ein Werkzeug, um Java effizienter. Java ist eine objektorientierte Sprache . Java -Programmierer verwenden Funktionen zur Modellierung realer Objekte , wie Autos, Menschen, Gebäude , so dass die Nutzer der Programme arbeiten können , spielen mit oder Experiment auf den Modellen . Java-Funktionen werden oft große und komplexe , aber Lambda-Ausdrücke vereinfachen sie . Java
Java-Programmierer müssen oft mit komplizierten Objekten zu arbeiten , aber einige Objekte sind einfach. Ein Objekt kann nichts tun, sondern kodieren eine Funktion , eine Operation, die einen Computer value.An Operation liefert A + B , gegebenen Werten zwei und drei für die A und B , würde den Wert fünf zurück. Ein Lambda-Ausdruck ist eine anonyme Funktion genannt, weil es eine schnelle , nützliche , Einweg- Werkzeug , sondern als ein komplexer, formal benannte Funktion ist .
Lambdas
Programmierer schreiben lambdas mit weniger Code als andere anonyme Funktionen . Einige Lambdas sind , so dass sie auch mit "Return ", die Richtlinie, die das Ergebnis der Funktion gibt verzichten geschrieben , das macht Sinn, wenn lambdas so klein, dass die Hinzufügung von " Return" würde wesentlich zu den der Länge des Lambda sind Code. Programmierer können Nest lambdas ineinander , so dass , wenn ein Java-Funktion einen Lambda-Ausdruck verwendet, um ein Ergebnis zu erhalten, das eine zweite Lambda Lambda nutzt einen Teil der Arbeit zu tun.
Ziel Typing
Im Gegensatz zu einigen
Funktionen , Lambda-Funktionen müssen nicht speziell definieren ein bestimmtes Objekt . Stattdessen wird der Objekttyp sie gelten durch den Kontext definiert. Der gleiche Ausdruck bezieht sich auf verschiedene Objekte in verschiedenen Programmiersprachen Situationen . Der Code Compiler wird über das Kontextmenü , um den Ausdruck mit einem Ziel -Typ zuzuordnen. Für eine Lambda um eine bestimmte Ziel- Typ passen , müssen sie teilen die gleichen Parameter . Das macht es möglich, Code für Parameter Streifen von der Lambda-Funktion und lassen Sie das Ziel definieren sie stattdessen .
Vorteile
Ermittlung Namen in anonyme Funktionen und Teilfunktionen kann es zu Problemen führen : Wenn eine übergeordnete Java -Funktion verwendet die gleichen Namen einen anderen Weg , es wird so, wie Sie bestimmt die anonyme Funktion zu interpretieren überschreiben. Das ist nicht ein Problem mit einem Lambda-Ausdrücke , weil sie Namen interpretiert die gleiche Weise die Funktion mit es tut. Lambda -Funktionen geben auch Programmierern mehr Flexibilität der Arbeit mit Java-Methoden , wie Sub - Routinen , mit einer Methode , als ob es sich um eine funktionale Schnittstelle waren .