Warum ist hier ein Lamda-Ausdruck möglich

Diskutiere Warum ist hier ein Lamda-Ausdruck möglich im Java Basics - Anfänger-Themen Bereich.
G

GetIT

Im Buch "Java ist auch eine Insel" steht:

Der in fett gesetzte Ausdruck nennt sich Lamda-Audruck. Er ist eine kompakte Art und Weise, Schnittstellen mit genau einer Methode zu implementieren;...
Auf der Webseite zum Buch finde ich folgendes Beispiel
Function<Double, Double> max = a -> Math.abs( a );
Wieso kann hier ein Lamda-Audruck verwendet werden? Es handelt sich bei Math ja weder um eine Schnittstelle, noch hat Math nur eine Methode.
 
M

mrBrown

Der Lambda-Ausdruck ist ja dieser gesamte Teil: a -> Math.abs( a ), nicht nur Math.abs, und die Schnittstelle, die "implementiert" wird, ist Function<Double, Double>.

Wenn man da mal Klammern ergänzt, wird das ganze vielleicht klarer:
Java:
(Double a) -> { return Math.abs( a );}
Bekommt also einen Double und gibt einen zurück - was genau der abtraten Methode in Function<Double, Double> entspricht.
 
Thema: 

Warum ist hier ein Lamda-Ausdruck möglich

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben