Aus dem Kurs: Java für Fortgeschrittene
Functional Interface und Lambda im Überblick – Tutorial zu Java
Aus dem Kurs: Java für Fortgeschrittene
Functional Interface und Lambda im Überblick
In diesem Kapitel erkunden wir die Grundlagen des Functional Interface in Java und wie wir Lambda Expressions nutzen können, um konkrete Implementierungen solcher Schnittstellen auf einfache und prägnante Weise bereitzustellen. Java unterstützt Konzepte der funktionalen Programmierung durch das Functional Interface, eine besondere Art von Interface, die genau eine Methode enthält. Diese Interfaces können mit Lambda Expressions oder Methodenreferenzen implementiert werden. Wir schauen uns hier mal das Beispiel an. Wir beginnen mit einem Functional Interface namens ArithmeticOperation. Dieses Interface definiert nur eine Methode operate(), und diese Methode nimmt zwei Ganzzahlen an und gibt eine Ganzzahl zurück. Die Annotation Functional Interface ist nicht zwingend erforderlich, hilft aber dabei, die Absicht klarzustellen und sicherzustellen, dass dieses Interface nur eine Methode enthält, sonst würde der Compiler an dieser Stelle meckern. Sie stellt vor allen Dingen aber auch Lesern den Kontext bereit, dass dieses Interface als Functional Interface verwendet werden soll. Hier in unserer main-Methode demonstrieren wir nun die Verwendung dieses Functional Interface mit zwei verschiedenen Lambda Expressions, einmal eine Lambda Expression für eine Addition und dann eine Lambda Expression für eine Subtraktion. Diese Lambda Expressions bieten eine klare und prägnante Möglichkeit, die Operation zu definieren, die von unserem Functional Interface ArithmeticOperation erwartet wird. Mit der operate-Methode können wir dann die entsprechenden Operationen ausführen. Es ist ja auch sehr schön zu sehen, wie wir Objektreferenzen auf diese Funktion haben, die wir dann auch entsprechend in unserem Programm wiederverwenden und weitergeben können. Dieses Beispiel illustriert die Flexibilität und Einfachheit, die das Functional Interface und Lambda Expressions in Java bringen. Sie ermöglichen es uns, unser Augenmerk auf das Was statt auf das Wie zu legen, indem wir uns auf die Operationen konzentrieren, die ausgeführt werden sollen, und dadurch erhöhen wir die Abstraktionsebene unseres Codes.
Inhalt
-
-
-
-
Functional Interface und Lambda im Überblick2 Min. 3 Sek.
-
(Gesperrt)
Functional Interface Annotation3 Min. 17 Sek.
-
(Gesperrt)
Function and BiFunction2 Min. 53 Sek.
-
(Gesperrt)
UnaryOperator und BinaryOperator3 Min. 45 Sek.
-
(Gesperrt)
Consumer und BiConsumer3 Min. 9 Sek.
-
(Gesperrt)
Predicate und BiPredicate5 Min. 44 Sek.
-
(Gesperrt)
Supplier3 Min. 2 Sek.
-
(Gesperrt)
Challenge: Dynamic Greeting System41 Sek.
-
(Gesperrt)
Solution: Dynamic Greeting System3 Min. 6 Sek.
-
-
-
-