Lambdas müssen einen funktionalen Typ haben und können nicht Nicht-Funktionstypen wie Object zugewiesen werden. Die Zuweisung eines Lambdas zu einer Variable vom Typ Object führt zu einem Kompilierfehler. Die Zuweisung eines Lambdas zu einer Variable eines funktionalen Schnittstellentyps, wie z.B. Runnable, ist jedoch korrekt. Lambdas können auch direkt als Argumente an Methoden übergeben werden, wobei der Compiler den Typ basierend auf dem Kontext ableitet. Der erwartete Typ des Lambda-Ausdrucks, basierend auf dem Kontext, wird als Zieltyp (Target Type) bezeichnet. Der Zieltyp ermöglicht es dem Compiler, den Typ des Lambda-Ausdrucks abzuleiten und zu erkennen, dass dasselbe Lambda verschiedene funktionale Schnittstellen repräsentieren kann. Auch Methodenreferenzen verwenden den Zieltyp für die Typableitung, und dieselbe Methodenreferenz kann sich an verschiedene Schnittstellen anpassen. Der Hauptunterschied zwischen Lambdas und Methodenreferenzen besteht darin, dass Methodenreferenzen die Typableitung verstärken, da der Typ expliziter ist. Zusätzlich ist die Konvertierung zwischen kompatiblen funktionalen Schnittstellen erlaubt. Das Verständnis des Zieltyps ist für die Arbeit mit Lambdas und Methodenreferenzen in Java unerlässlich.
dev.to
Qual é o tipo de uma expressão Lambda?
Create attached notes ...
