Java 8 Lambda-Ausdrücke

TheSorm

Bekanntes Mitglied
Was genau sind Lambda-Ausdrücke und wie Funktionieren die? ich haben schon im Internet geguckt aber nicht wirklich verstandn wie die Anonymen Funktionen die sie ja sind ? Funktionieren ?!
 
Lambda-Ausdrücke sind also "nur" eine verkürzte Schreibweise für die Interfaces mit nur einer Methode!? Oder kann man mit ihnen noch mehr anstellen, als nur anonyme Klassen mit einer Methode anders zu schreiben!?
 
Hallo,

ich möchte zu den Lambda Ausdrücken noch eine Frage stellen. Ist es überhaupt sinnvoll, Lambda Ausdrücke schon zu verwenden, da die Java SE 7 nicht auf 8 geupdated wird, sondern heruntergeladen und installiert werden muss. Da Java 7 sich (bei mir) nicht bemerkbar gemacht hat, das Java 8 verfügbar ist, nehme ich an, dass der normale "Java-User" nicht so schnell Java 8 installieren wird, wenn alles noch so funktioniert, wie gehabt. Hintergrund ist, dass ich vor einiger Zeit jemandem ein Programm von mir geschickt hatte, und er konnte es nicht starten, da er noch Java 6 hatte, das Programm aber neue Features von Java 7 verwendete. Ich vermute, dass es mit den Lambda Ausdrücken das gleiche sein wird, dass man sie jetzt quasi nicht verwenden kann, da es bei kaum einem läuft, da die meisten noch mit Java 7 arbeiten. Deswegen frag ich mich auch, ob man den Code erstmal Java 7 fähig halten sollte, damit das Programm auf so vielen Rechnern wie möglich läuft...
 
da die Java SE 7 nicht auf 8 geupdated wird
???:L
Natürlich wird JAVA-SE 7 NIEMALS auf Java-8 geupdated! Unter anderem heisst es deshalb auch Java-7. Derartige Aussagen verwirren mich zutiefst.

Und solche Fragen ebenso
Deswegen frag ich mich auch, ob man den Code erstmal Java 7 fähig halten sollte, damit das Programm auf so vielen Rechnern wie möglich läuft...
Da kann es wohl nur eine SEHR vage Meta-Antwort geben, da du davon ausgehst, das die meisten Leute Java-7 haben. Diese Annahme ist FALSCH, wie du selbst festgestellt hast.

Du, als SW-Entwickler, bist doch der Einzige, der sagen kann, mit welcher Java-Version dein Programm läuft.

Möchte ein Benutzer dein Programm nutzen, MUSS er wohl die richtige Java-Version nehmen, die du genannt hast.

Bei einer Auslieferung kannst du ja die richtige Java-Version mit liefern, so das ein Benutzer dies nicht selbst machen muss.

Ist es sinnvoll jetzt schon auf Java-8 zu wechseln?

Das ist eine ebenso merkwürdige Frage.

Wenn es Dinge gibt, die in Java-8 einfach(er) sind als in Java-6 oder Java-7, dann benutze Java-8. Java-6 ist end-of-life, wird also nicht mehr gepflegt, es sei denn, man berappt dafür.

Und wann dachtest du, zu beginnen, dich in die Neuerungen in Java-8 (oder 7) einzuarbeiten und nutzen zu können?
 
Ok, danke für die Antwort. Ich hab einfach vermutet, dass die meisten User zu träge sind, um sich Java 8 runterzuladen ("Es läuft doch mit 7, wozu brauch ich 8?"). Aber mit dem System Property java.version kann man die Version überprüfen und dann eine Meldung ausgeben, wenn man nicht die richtige Version verwendet.
 
Lies doch mal seine Antwort richtig! Nimand muss ergendwas updaten auser der Entwickler du kanst die gewünschte Java version mitliefern!
 
Lambda-Ausdrücke beschreiben Funktionsobjekte. So lässt sich eine Funktion, die die Summe von zwei Argumenten liefert, wie folgt im Code ausdrücken:
(i, j) -> i + j

Die Angabe der Parametertypen ist nur dann erforderlich, wenn der Compiler sie nicht selbst aus dem Kontext des Ausdrucks ableiten kann. Diese Fähigkeit der “Type Inference” spielte erstmals mit der Einführung von Generics zur Verbesserung der Typsicherheit und Vermeidung der Notwendigkeit von Typumwandlungen (“Typecasts”) bei Verwendung von Collections in Java SE 5 (Sept. 2004) eine Rolle und wurde mit den folgenden Versionen immer weiter verbessert, zuletzt in Java SE 7 mit dem “Diamond Operator” (<>).
Mehr kannst Du im gesamten Blogbeitrag lesen:
Java 8 Neuerungen - Lambda-Ausdr
 

Zurück
Oben